!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! Settings to extre ERA-Interim convective fluxes. ! ! Inspired by settings from: ! base/trunk/rc/meteo.produce_100x100_ei.rc ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! METEO RC FILE FOR PRE-PROCESSING OF BOTH EI AND OD MET FIELDS. ! ! ! The following variables are used and should have been defined: ! ! * in the main rcfile: ! ! ! short names for regions: ! my.region1 : glb100x100 ! ! ! grid names for meteo input: ! my.region1m : ${my.region1} ! ! ! Number of model levels: ! my.levs : all ! ! ! ECMWF meteo class ('ei' or 'od') ! my.meteo.class : ei ! ! ! file format: "tm5-nc" for netcdf, "tm5-hdf" for hdf ! my.meteo.format : tm5-nc ! ! ! call meteo setup script ! my.tmm.setup.apply : T ! ! * in the machine rc file: ! ! ! local directory with unpacked meteo files: ! my.meteo.dir : /scratch/shared/meteo ! ! ! where to search of missing files ? ! my.meteo.search : ec:ecfs[nlh]:TM/meteo ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! 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 ! K ml diffus ! 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 !==================================================== ! ~ era interim my.meteo.nlev : 60 my.ecclass_ecl : ${my.meteo.class} !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 only selected fields: meteo.read.*.* : F meteo.read.*.convec : T meteo.read.*.sp : T meteo.read.*.diffus : T ! ! ** 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] ! ! ! ~ fc fields are 3 hourly instantaneous, ! except for the accumulated fields which have been averaged over 3 hour: meteo.tinterp.* : interp3 meteo.tinterp.convec : aver3 meteo.tinterp.diffus : aver3 meteo.tinterp.sfc.aver : aver3 ! ! ~ 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 ! ~ daily emissions: meteo.tinterp.ch4fire : aver24 !==================================================== ! ** 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 ! OD L91 (2006-02-01 onwards) T799/N400 0.225 ! T1279/N640 0.125 # available as of 11/2010 ! Era-Interim availabe in T255/N128 (0.703) ; ! use this maximum resolution the processing to global 1.00x1.00 SHT : 255 GGN : 128 ! special convection fields; ! if not explicitly specified, then 'ec-ll' is used for OASIS coupling and 'raw' otherwise: !convec_method : !convec_method : raw ! (default) compute from u/v/T/Q/etc (Tiedtke) ; requires "with_tmm_convec_raw" convec_method : ec-ll ! read ECMWF convec fields, regrid, convert units ; requires "with_tmm_convec_ec" !convec_method : ec-gg ! read ECMWF convec fields, convert units, regrid ; requires "with_tmm_convec_ec_gg" ! dummy values by default, only read the fields required to regrid convective stuff: tmm.sourcekey.*.* : standard tmm.sourcekey.*.sp : ecmwf-tm5:class=${my.meteo.class};type=fc;levs=${my.eclevs};sh=${SHT};tres=_fc012up2tr3 tmm.sourcekey.*.convec : ecmwf-tm5:class=${my.meteo.class};type=fc;levs=${my.eclevs};gg=${GGN};tres=_fc012up2tr3;method=${convec_method} tmm.sourcekey.*.diffus : ecmwf-tm5:class=${my.meteo.class};type=fc;levs=${my.eclevs};gg=${GGN};tres=_fc012up2tr3 !------------------------------ ! ** 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 : 8 ! ! ** 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 ! ! era interim & EC-Earth ECEXPVER : ECSP : ECLNSP : LNSP/ ECCONVEC : /104.162/105.162/106.162/107.162 ! tmm.setup.001.apply : F tmm.setup.001.files : CVL/CVH/TVL/TVH/Z/LSM/SR/AL 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 : F 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 : F !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 : ! ! ! Fields for convective fluxes: ! - updr/downdr mass fluxes (104,105) ! - detrainment rates (106,107) ! - surface pressure for level definition; ! get both the spectral version for the model pressure ! as well as the gaussian grid for the input convec fields ! ! Fields for diffusion coefficients: ! - diffusion coeff (109) ! - surface pressure for level definition; ! get both the spectral version for the model pressure ! as well as the gaussian grid for the input convec fields ! tmm.setup.003.apply : T tmm.setup.003.files : LNSP 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 : LNSP/104.162/105.162/106.162/107.162/109.162 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 : F 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 : F tmm.setup.007.apply : F 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 regular 0.5x0.5 resolution ! o daily fields; ; use key '_fc000up1tr24' ! 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 : F tmm.setup.008.files : CH4FIRE tmm.setup.008.sources : ecmwf-tm5:class=rd;expver=ffxr;type=fc;levs=sfc;grid=R0.5;tres=_fc000up1tr24 tmm.setup.008.search : #endif !================================================ ! ** output meteo !================================================ ! Write output (T/F)? tmm.output : T ! which fields to put out ? tmm.output.*.* : F tmm.output.*.convec : T tmm.output.*.diffus : 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 ! ! ** ei production ! tiedtke:F tmm.destkey.${my.region1}.convec : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-fc012up2tr3-${my.mlevs}-${my.region1}${my.mext};tres=_00p03 tmm.destkey.${my.region1}.diffus : ${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 ! 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' . ! 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 ! tmm.output.store.verbose : T tmm.output.store.zipper : internal tmm.output.store.verbose : T ! ERA-Interim / OD #if "${my.meteo.format}" == "tm5-nc" tmm.output.store.archives : ecfs:umask=002%/nlh/TM/meteo-nc/*.tar5 #else tmm.output.store.archives : ecfs:umask=002%/nlh/TM/meteo/*.tar5 #endif !------------------------------ ! ** CF conventions !------------------------------ ! file with standard name table: #if "${my.meteo.format}" == "tm5-nc" cf-standard-name-table : ${PWD}/tools/cf/data/cf-standard-name-table-v15.xml #endif