!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! METEO RC FILE FOR PRE-PROCESSING OF BOTH EI AND OD MET FIELDS. ! ! ************************************************************************************* ! ******* This version uses different native resolutions for MARS retrievals ********** ! ************************************************************************************* ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! The keys that define meteo usage have the form: ! ! . ! ! or, if the property depends on the zoom region: ! ! .. ! ! The region_name is either a '*' or names like 'glb300x200' etc. ! ! Multipe names could apply to the same field; see the table below. ! A '*' applies to all fields. ! If more than name applies to a field, the last one defines the value. ! For example, the following 3 keys all apply to the 'oro' field, ! but the resulting temporal interpolation will be 'const' : ! ! meteo.tinterp.* : interp3 ! meteo.tinterp.sfc.an : interp6 ! meteo.tinterp.oro : const ! ! Summary of possible name(s) : ! ! field name(s) that apply to this field ! -------- ------------------------------------------------------ ! *sp ml sp ! mfw ml mflux_w ! tsp ml mflux_w ! mfu ml mflux_uv ! mfv ml mflux_uv ! *T ml temper ! *Q ml humid ! *CLWC ml cloud ! *CIWC ml cloud ! *CC ml cloud ! *CCO ml cloud ! *CCU ml cloud ! eu ml convec ! ed ml convec ! du ml convec ! dd ml convec ! oro sfc sfc.const sfc.an oro ! lsm sfc sfc.const sfc.an lsm ! ci sfc sfc.inst sfc.day sfc.fc ci ! sst sfc sfc.inst sfc.fc sst ! u10m sfc sfc.inst sfc.fc u10m ! v10m sfc sfc.inst sfc.fc u10m ! g10m sfc sfc.inst sfc.fc g10m ! src sfc sfc.inst sfc.fc src ! d2m sfc sfc.inst sfc.fc d2m ! t2m sfc sfc.inst sfc.fc t2m ! skt sfc sfc.inst sfc.fc blh ! blh sfc sfc.inst sfc.fc skt ! sshf sfc sfc.aver sfc.fc sshf ! slhf sfc sfc.aver sfc.fc slhf ! ewss sfc sfc.aver sfc.fc ewss ! nsss sfc sfc.aver sfc.fc nsss ! cp sfc sfc.aver sfc.fc cp ! lsp sfc sfc.aver sfc.fc lsp ! sf sfc sfc.aver sfc.fc sf ! ssr sfc sfc.aver sfc.fc ssr ! sd sfc sfc.inst sfc.day sfc.fc sd ! swvl1 sfc sfc.inst sfc.day sfc.fc swvl1 ! tv sfc sfc.inst sfc.day sfc.an veg ! cvl sfc sfc.inst sfc.day sfc.an veg ! cvh sfc sfc.inst sfc.day sfc.an veg ! albedo sfc sfc.inst sfc.day sfc.an albedo ! sr sfc sfc.inst sfc.day sfc.an sr ! srols sfc sfc.inst sfc.day sfc.an srols ! ! Background: ! o 'ml' and 'sfc' indicate model levels and surface level ! o surface fields could have a constant value (sfc.const), ! have instananeous values (sfc.inst), ! or averaged over an accumulation interval (sfc.aver). ! o when meteo was produced by TMPP, some fields were stored ! as daily averages (sfc.day) ! o surface fields could originate from an ecmwf forecast (sfc.fc) ! or from the analysis (sfc.an) ! o group names apply to fields that usually belong together, ! for example the vegation fields (veg) ! !==================================================== ! ~ get number of meteo levels, and set class variable for filenames !==================================================== #if "${my.meteo.class}" == "od" : ! ~ number of levels for od data increases in time ... #if int("${timerange.start}"[0:4]) <= 2005 : my.meteo.nlev : 60 #else my.meteo.nlev : 91 #endif my.ecclass_ecl : ${my.meteo.class}_L${my.meteo.nlev} #elif "${my.meteo.class}" == "ei" : ! ~ era interim my.meteo.nlev : 60 my.ecclass_ecl : ${my.meteo.class} #elif "${my.meteo.class}" == "ee" : ! ~ EC-Earth CMIP5 my.meteo.nlev : 62 my.ecclass_ecl : ${my.meteo.class} #else : #error "unsupported meteo class : ${my.meteo.class}" #endif !previously ECLEVS: my.eclevs : ml${my.meteo.nlev} !------------------------------ ! name for choice of number of model levels (previously LEVS) !------------------------------ #if "${my.levs}" in ["all",""] : my.mlevs : ml${my.meteo.nlev} #elif "${my.levs}" in ["tropo25","tropo31","tropo34","ml40"] : my.mlevs : ${my.levs} #else : #error "unsupported number of model levels : ${my.levs}" #endif !------------------------------ ! ** which files should be read ? !------------------------------ ! ! run time directory: meteo.dir : ${my.meteo.dir} ! read all fields by default meteo.read.*.* : F !#if "${my.meteo.class}" in ["od","ee"] : !meteo.read.*.ch4fire : F !#endif !meteo.read.*.sfc : F ! ONE meteo.read.*.cloud : T ! ONE !- !meteo.read.*.mflux_uv : F ! TWO !meteo.read.*.mflux_w : F ! TWO meteo.read.*.temper : T ! TWO meteo.read.*.humid : T ! TWO meteo.read.*.sp : T ! TWO !- !meteo.read.*.convec : F ! THREE ! ! ** temporal interpolation ! ! ! Temporal interpolation is defined first by general key: ! ! meteo.tinterp.* : const6 ! ! Optionally, different settings might be chosen for specific meteo: ! ! sp mflux_uv mflux_w temper humid cloud convec surf.inst surf.aver surf.day albedo sr ! ! Possible time interpolations: ! o month : constant in month ! o const : constant ! o const24 : constant in 24hr intervals [00:00,24:00] ! o const6 : constant in 6hr intervals [21:00,03:00] [03:00,09:00] ... ! o const3 : constant in 3hr intervals [22:30,01:30] [01:30,04:30] ... ! o interp6 : interpoloated between 00, 06, 12, 18 ! o interp6_3 : interpoloated between 03, 09, 15, 21 ! o interp3 : interpoloated between 00, 03, 06, 09, 12, 15, 18, 21 ! o aver6 : time averages over intervals ]00,06], [06,12], ... ! o aver3 : time averages over intervals [00,03], [03,06], ... ! o aver24 : time averages over interval [00,24] ! o aver24_3 : time averages over interval [21,21] ! ! ! ~~~ od meteo production ! ! ~ fc fields are 3 hourly instantaneous, ! except for the accumulated fields which have been averaged over 3 hour: #if "${my.meteo.class}" == "ee" : meteo.tinterp.* : interp6 meteo.tinterp.sfc.aver : aver6 #else meteo.tinterp.* : interp3 meteo.tinterp.sfc.aver : aver3 #endif ! ~ an fields 6 hourly instantaneous; keep them constant, ! except oro and lsm which are constant: meteo.tinterp.sfc.an : interp6 ! ~ constant meteo.tinterp.oro : const meteo.tinterp.lsm : const ! ~ surface roughness Olsson/Ganzeveld is per month: meteo.tinterp.srols : month ! ~ hourly emissions: meteo.tinterp.ch4fire : aver1 !==================================================== ! ** source keys : file name to read ? !==================================================== ! ! TMM requires keys on how to form a meteo filename. ! A key should be defined for each region (names are in 'dims_grid.F90'): ! ! tmm.sourcekey.glb600x400.* : tmpp:class=od;type=fc;levs=ml60;grid=glb3x2;tres=_21p06 ! ! Optionally, some specific fields might be read from a different set: ! ! tmm.sourcekey.glb600x400.sp : ecmwf:form=3hr;class=od;type=fc;nlev=60;sh=159;tres=_fc012up2tr3 ! ! Possible specific fields: ! ! sp mflux_uv mflux_w temper humid cloud convec ! surf oro lsm albedo sr ! ! Examples of source keys: ! ! * tmpp:class=od;type=fc;levs=ml60;grid=glb3x2;tres=_21p06 ! ! Identifies the regular TMPP hdf files: ! xxxx/od-fc-2000-01-ml60-glb3x2-uvsp_20000101_21p06.hdf ! etc ! ! * tmpp:class=od;type=fc;levs=ml60;grid=glb3x2;tres=_21p06;pathsep=\;namesep=\ ! ! Idem, but then for full Windows path names: ! xxxx\od\fc\2000\01\ml60\glb3x2\uvsp_20000101_21p06.hdf ! etc ! ! * tm5-hdf:mdir=ec-fc012up2-ml60-tropo25-glb600x400;tres=_00p06 ! ! TM5 produced meteo files, hdf format. ! ! * tm5-nc:mdir=ec-fc012up2-ml60-tropo25-glb600x400-;tres=_00p06 ! ! TM5 produced meteo files, netcdf format. ! The '' key will be replaced by the year. ! ! * msc-data:nlev=71;sh=47;mdir=cmam;type=iau;tres=_6hrly;sp_unit=hPa ! ! * ncep-gfs: ! * ncep-cdc: ! #if "${my.meteo.format}" == "tm5-nc" : my.mext : - #else : my.mext : #endif ! ~~~ GRIB files from MARS archive : ! ! data set T/N deg ! -------------------------------------------------- ! Era40 T159/N80 1.125 ! Era-Interim T255/N128 0.703 ! EC-Earth / CMIP5 T159/N0 1.125 ! OD (up to 2000) T319/N160 0.5625 <-- used for processing od global 1.00x1.00 archive ! OD (2000-2005) T511/N256 0.3516 <--- use for 0.5x0.5 od pre-processing ! OD L91 (2006-02-01 onwards) T799/N400 0.225 ! T1279/N640 0.125 # available as of 11/2010 #if "${my.meteo.class}" == "od" : ! od archive SHT : 511 GGN : 256 #elif "${my.meteo.class}" == "ei" : ! Era-Interim availabe in T255/N128 (0.703) ; ! use this maximum resolution the processing to global 1.00x1.00 SHT : 255 GGN : 128 #elif "${my.meteo.class}" == "ee" : ! EC-Earth/CMIP5 available in T159/N80 (1.125) ; SHT : 159 GGN : 80 #else : #error "unsupported meteo class : ${my.meteo.class}" #endif ! special convection fields: convec_method : #if "${my.meteo.class}" == "ee" : tmm.sourcekey.*.ml : ecmwf-tm5:class=${my.meteo.class};type=fc;levs=${my.eclevs};sh=${SHT};gg=${GGN};tres=_06p06 tmm.sourcekey.*.sfc : ecmwf-tm5:class=${my.meteo.class};type=fc;levs=sfc;gg=${GGN};tres=_06p06 #else tmm.sourcekey.*.ml : ecmwf-tm5:class=${my.meteo.class};type=fc;levs=${my.eclevs};sh=${SHT};gg=${GGN};tres=_fc012up2tr3${convec_method} tmm.sourcekey.*.sfc : ecmwf-tm5:class=${my.meteo.class};type=fc;levs=sfc;gg=${GGN};tres=_fc012up2tr3 #endif tmm.sourcekey.*.sfc.an : ecmwf-tm5:class=${my.meteo.class};type=an;levs=sfc;gg=${GGN};tres=_an0tr6 tmm.sourcekey.*.ch4fire : ecmwf-tm5:class=rd;type=fc;levs=sfc;gg=80;tres=_fc000up24tr1 ! !! surface fields only ? then no need to read surface pressure, use global average !tmm.sourcekey.*.sp : standard !------------------------------ ! ** install meteo files !------------------------------ ! location of meteo files; ! either a permanent archive, or a temporary scratch: !tmm.dir : ${my.meteo.dir} tmm.dir : ${my.project.dir}/tm5_meteo_in ! ! Clean up the temporary meteo ? ! o Set the clean flag (T|F) such that files that have not been accessed ! for a long time are removed if a maximum buffer usage is exceeded. ! o specify a maximum size: 500k, 1M, 2G ! tmm.dir.clean : F tmm.dir.size : 10G !===================== ! ** Retrieve meteo files !===================== ! Meteo files could be setup before the actual program is started. ! First set the main switch to apply this or not. ! If to be applied, specify details for a number of sets; ! each set can be applied by a seperate flag. ! tmm.setup.apply : ${my.tmm.setup.apply} ! display progress ? tmm.setup.verbose : T ! file permission mode for newly created files: ! o user archive : 644 ! o archive shared by group : 664 tmm.setup.mode : 664 ! Number of sets (defined below) to retrieve. tmm.setup.nset : 7 ! ! ** extracted from MARS archive ! ! SP available as od-fc-sfc-SP and e4-an-sfc-SP ; for e4: ! o skip 'SP' in fc-sfc-N80, ! o add 'LNSP' to fc-ml-N80 which is converted to SP ! #if "${my.meteo.class}" == "od" : ECEXPVER : ECSP : SP/ ECLNSP : ECCONVEC : #else: ! era interim & EC-Earth ECEXPVER : ECSP : ECLNSP : LNSP/ ECCONVEC : #endif ! ! tmm.setup.001.apply : T tmm.setup.001.files : CVL/CVH/TVL/TVH/Z/LSM/SR/AL !tmm.setup.001.files : LSM tmm.setup.001.sources : ecmwf-tm5:class=${my.meteo.class}${ECEXPVER};type=an;levs=sfc;grid=N${GGN} tmm.setup.001.search : ! tmm.setup.002.apply : T tmm.setup.002.files : ${ECSP}CI/SSTK/SWVL1/SWVL2/SWVL3/SWVL4/10FG/SD/LSP/CP/SF/SSHF/SLHF/BLH/10U/10V/2T/2D/SSR/EWSS/NSSS/SRC/SKT tmm.setup.002.sources : ecmwf-tm5:class=${my.meteo.class}${ECEXPVER};type=fc;levs=sfc;grid=N${GGN} tmm.setup.002.search : !! tmm.setup.003.apply : T tmm.setup.003.files : LNSP/VO/D tmm.setup.003.sources : ecmwf-tm5:class=${my.meteo.class}${ECEXPVER};type=fc;levs=${my.eclevs};grid=T${SHT} tmm.setup.003.search : !! tmm.setup.004.apply : T tmm.setup.004.files : ${ECLNSP}T/Q/W/CLWC/CIWC/CC${ECCONVEC} tmm.setup.004.sources : ecmwf-tm5:class=${my.meteo.class}${ECEXPVER};type=fc;levs=${my.eclevs};grid=N${GGN} tmm.setup.004.search : ! ! ** Olsson surface roughness files ! tmm.setup.005.apply : T tmm.setup.005.files : SR tmm.setup.005.sources : olsson:mdir=SR_OLSSON tmm.setup.005.search : ecfs:/nlh/TM ! ! ** WP stuff ... ! ! Surface solar radiation, Surface solar radiation downwards, Surface thermal radiation, Surface thermal radiation downwards ! ! Date: 2000-09-12 to 2002-12-31 Time: 00:00:00 Step: 3 to 12 by 3 ! Date: 2001-03-28 to 2002-12-31 Time: 00:00:00 Step: 15 to 72 by 3, 78 to 240 by 6 ! ! Date: 2000-01-01 to 2002-12-31 Time: 12:00:00 Step: 3 to 12 by 3, 18 to 240 by 6 ! Date: 2000-10-24 to 2002-12-31 Time: 12:00:00 Step: 15 to 69 by 6 ! tmm.setup.006.apply : T tmm.setup.007.apply : T tmm.setup.006.files : AL tmm.setup.006.sources : ecmwf-tm5:class=${my.meteo.class}${ECEXPVER};type=an;levs=sfc;grid=N${GGN} tmm.setup.006.search : ! !tmm.setup.007.files : SSR/SSRD/STR/STRD tmm.setup.007.files : SSRD/STR/STRD tmm.setup.007.sources : ecmwf-tm5:class=${my.meteo.class}${ECEXPVER};type=fc;levs=sfc;grid=N${GGN} tmm.setup.007.search : ! ! ** MACC emissions ! ! o N80 resolution ! o hourly resolution, times : 00:30/01:30/.. ; use key '_fc000up24tr1' ! o NOTE: used standard pressures to produce this field ! ! o Do not retrieve CH4Fire MACC emissions in case of od met fields: #if "${my.meteo.class}" == "ei" : tmm.setup.008.apply : T tmm.setup.008.files : CH4FIRE tmm.setup.008.sources : ecmwf-tm5:class=rd;expver=f7i1;type=fc;levs=sfc;grid=N80;tres=_fc000up24tr1 tmm.setup.008.search : #endif ! !================================================ ! ** output meteo !================================================ ! Write output (T/F)? tmm.output : T ! Write all fields (T/F)? tmm.output.* : T ! Write all fields (T/F)? tmm.output.*.* : T ! Define output format and/or first part of file name: ! ! tmm.destkey.glb6x4.* : tm5:mdir=ec-fc012up2-tropo25-glb6x4;tres=_00p06 ! ! Optionally overwrite for special sets ! ! sp mflux_w mflux_uv temper humid cloud convec albedo sr ! ! ** test ! !tmm.destkey.glb300x200.ml : tm5:mdir=hir-od-fc012up2tr6-${my.mlevs}-eur300x200;tres=_00p06 !tmm.destkey.eur100x100.ml : tm5:mdir=hir-od-fc012up2tr6-${my.mlevs}-eur100x100;tres=_00p06 !tmm.destkey.eur050x025.ml : tm5:mdir=hir-od-fc012up2tr6-${my.mlevs}-eur050x025;tres=_00p06 !! !tmm.destkey.${my.region1}.sfc : tm5:mdir=hir-od-fc012up2tr6-sfc-${my.region1};tres=_00p03 !tmm.destkey.${my.region1}.sfc.an : tm5:mdir=hir-od-an0tr6-sfc-${my.region1};tres=_00p03 !! !tmm.destkey.eur050x025.sfc : tm5:mdir=hir-od-fc012up2tr6-sfc-eur050x025;tres=_00p03 !tmm.destkey.eur050x025.sfc.an : tm5:mdir=hir-od-an0tr6-sfc-eur050x025;tres=_00p03 !! !! ** era2003 production !! !tmm.destkey.glb300x200.ml : tm5:mdir=era2003-fc012up2-${my.mlevs}-glb300x200;tres=_00p03 !tmm.destkey.ehw100x100.ml : tm5:mdir=era2003-fc012up2-${my.mlevs}-ehw100x100;tres=_00p03 !tmm.destkey.sff100x100.ml : tm5:mdir=era2003-fc012up2-${my.mlevs}-sff100x100;tres=_00p03 !! !tmm.destkey.${my.region1}.sfc : tm5:mdir=era2003-fc012up2-sfc-${my.region1};tres=_00p03 !tmm.destkey.${my.region1}.sfc.an : tm5:mdir=era2003-an0-sfc-${my.region1};tres=_00p06 !! !! ** od production !! !tmm.destkey.${my.region1}.ml : tm5:mdir=ec-${my.ecclass_ecl}_${ECL}-fc012up2tr3-${my.mlevs}-${my.region1};tres=_00p03 !! !tmm.destkey.${my.region1}.sfc : tm5:mdir=ec-${my.ecclass_ecl}_${ECL}-fc012up2tr3-sfc-${my.region1};tres=_00p03 !tmm.destkey.${my.region1}.sfc.an : tm5:mdir=ec-${my.ecclass_ecl}_${ECL}-an0tr6-sfc-${my.region1};tres=_00p06 #if "${my.meteo.class}" == "ee" : ! ! ** ee production ! tmm.destkey.${my.region1}.ml : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-fc0tr6-${my.mlevs}-${my.region1}${my.mext};tres=_00p06 ! tmm.destkey.${my.region1}.sfc : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-fc0tr6-sfc-${my.region1}${my.mext};tres=_00p06 tmm.destkey.${my.region1}.sfc.an : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-an0tr6-sfc-${my.region1}${my.mext};tres=_00p06 #else ! ! ** ei production ! tmm.destkey.${my.region1}.ml : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-fc012up2tr3-${my.mlevs}-${my.region1}${my.mext};tres=_00p03 ! tmm.destkey.${my.region1}.sfc : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-fc012up2tr3-sfc-${my.region1}${my.mext};tres=_00p03 tmm.destkey.${my.region1}.sfc.an : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-an0tr6-sfc-${my.region1}${my.mext};tres=_00p06 #endif ! #if "${my.meteo.class}" == "ei" : tmm.destkey.${my.region1}.ch4fire : ${my.meteo.format}:mdir=ec-rd-fc000up24tr1-sfc-${my.region1}${my.mext};tres=_00p01 #endif ! TM5 writes new meteo files to: tmm.output.dir : ${my.project.dir}/tm5_meteo_out ! ensure creation via 'install' facilty: tmm.output.install.dir : ${tmm.output.dir} ! ================================================ ! Options for "tm5-tmm-store" script. ! ================================================ ! Specify one or more archives. ! Files are stored in monthly tar files if an archive ends with '/*.tar' ! (large 3D files per 10 or 5 days for '/*.tar10' or '/*.tar5'), else files are ! copied without archiving. ! Examples: ! ${SCRATCH}/TM/meteo_day ! ecfs:/nlh/TM/meteo/*.tar ! mos:umask=002%/fa/ks/meteo/*.tar ! ! NOTE: (1) files are removed from after storage ... ! (2) intermediate directories are created according to the ! name. For example, the "destkey" ! ! tm5:mdir=ec-od_L91-fc012up2-tropo25-glb6x4;tres=_00p06 ! ! with ! ! tmm.output.store.archives : ecfs:/nlh/TM/meteo/*.tar ! ! will archive monthly tar files into the following tree : ! ! ecfs:/nlh/TM/meteo/ec/od_L91/fc012up2/tropo25/glb6x4/*.tar ! ! Obsolete key -- just add tm5-tmm-store script to the list of ! postprocessing script. !tmm.output.store : T tmm.output.store.verbose : T #if "${my.meteo.class}" == "ee" : ! EC-Earth #if "${my.meteo.format}" == "tm5-nc" tmm.output.store.archives : ecfs:umask=002%/nmi/METEO-NC/*.tar5 #else tmm.output.store.archives : ecfs:umask=002%/nmi/METEO/*.tar5 #endif #else ! ERA-Interim #if "${my.meteo.format}" == "tm5-nc" tmm.output.store.archives : ecfs:umask=002%/nm6/TM5/METEO_NC/ #else tmm.output.store.archives : ecfs:umask=002%/nm6/TM5/METEO/ #endif #endif ! zip files (empty or zipper command: gzip bzip2): tmm.output.store.zipper : gzip !------------------------------ ! ** CF conventions !------------------------------ ! file with standard name table: #if "${my.meteo.format}" == "tm5-nc" cf-standard-name-table : /c1a/tmp/ms/nl/nm6/cf-standard-name-table-v15.xml #endif