!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! 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 : 137 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 ? !------------------------------ ! read all fields meteo.read.*.* : T !! rerun accum sfc: !meteo.read.*.* : F !meteo.read.*.sfc.fc : T !==================================================== ! ** temporal interpolation !==================================================== ! ! Temporal interpolation is defined first by the 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 ! ! ~ archived fields are 1 hourly; ! surface fields at this resolution: meteo.tinterp.* : interp1 meteo.tinterp.sfc.aver : aver1 ! ~ model level fields retrieved 3 hourly: meteo.tinterp.ml : interp3 meteo.tinterp.convec : aver3 meteo.tinterp.diffus : aver3 ! ~ constant meteo.tinterp.oro : const meteo.tinterp.lsm : const ! ~ surface roughness Olsson/Ganzeveld is per month: meteo.tinterp.srols : month !==================================================== ! ** 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: ! my.mext : - ! time resolution keys let TM5 read the correct grib file, ! also used as subdirectory in output path; ! forecasts from 06:00/18:00, retrieve 3 or 1 hourly; ! analysis, retrieve 1 hourly my.source.tres.ml : h06h18tr3 my.source.tres.sfc : h06h18tr1 my.source.tres.sfc.an : an0tr1 ! time resolutions in destination files: my.dest.tres.ml : 00p03 my.dest.tres.sfc : 00p01 my.dest.tres.sfc.an : 00p01 ! ~~~ 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 ! 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-5 at T639/N320 ; however, retreive at ERA-Interim resolution: 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 (accumulated or averaged) 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" tmm.sourcekey.*.ml : ecmwf-tm5:class=${my.meteo.class};type=fc;levs=${my.eclevs};sh=${SHT};gg=${GGN};tres=_${my.source.tres.ml} tmm.sourcekey.*.convec : ecmwf-tm5:class=${my.meteo.class};type=fc;levs=${my.eclevs};sh=${SHT};gg=${GGN};tres=_${my.source.tres.ml};method=${convec_method} tmm.sourcekey.*.sfc : ecmwf-tm5:class=${my.meteo.class};type=fc;levs=sfc;gg=${GGN};tres=_${my.source.tres.sfc} tmm.sourcekey.*.sfc.an : ecmwf-tm5:class=${my.meteo.class};type=an;levs=sfc;gg=${GGN};tres=_${my.source.tres.sfc.an} !------------------------------ ! ** install meteo files !------------------------------ ! location of meteo files at runtime (a permanent archive or a temporary scratch) !TEST-OD tmm.dir : ${my.scratch}/mars_meteo_od_prod tmm.dir : ${my.scratch}/tm5_meteo_prod_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 ! ! Fields for convective fluxes and diffusion: ! - ERA Interim: ! - updraught mass flux umfa kg/m2 104.162 # accumulated ! - downdraught mass flux dmfa kg/m2 105.162 # accumulated ! - updraught detrainment rate udra kg/m3 106.162 # accumulated ! - downdraught detrainment rate ddra kg/m3 107.162 # accumulated ! - turbulent diff. coeff. for heat tdcha m2 109.162 # accumulated ! - ERA5: ! - mean updraught mass flux mumf kg/m2/s 009.235 # aver prev hour ! - mean downdraught mass flux mdmf kg/m2/s 010.235 # aver prev hour ! - mean updraught detrainment rate mudr kg/m3/s 011.235 # aver prev hour ! - mean downdraught detrainment rate mddr kg/m3/s 012.235 # aver prev hour ! - mean turbulent diff. coeff. for heat mtdch m2/s 014.235 # aver prev hour ! ! 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 . ! ! Accumulated fields are now also available as average over last hour. ! Original accumulated fields seem present too, but when used the processing seemed buggy ! (wrong usage of 0600/1800 forecasts instead of previous 0000/1200 forecats). ! Table shows new parameters, created using 'ecmwf parameter database' webpage ! and 'ecmwf mars catalogue' to see which fields are actually available. ! Note change of units in snowfall, new field looks correct equivalent of 'cp' given the name and the parameter code. ! ! ----------------------------------------------------------------- ------------------------------------------------------------------------------- ! ERA Interim ERA5 ! ----------------------------------------------------------------- ------------------------------------------------------------------------------- ! Large-scale precipitation lsp m 142.128 Mean large-scale precipitation rate mlspr kg m-2 s-1 029.235 ! Convective precipitation cp m 143.128 Mean convective precipitation rate mcpr kg m-2 s-1 030.235 ! Snowfall sf m water eqv. 144.128 Mean snowfall rate msr kg m-2 s-1 031.235 ! Surface sensible heat flux sshf J m-2 146.128 Mean surface sensible heat flux msshf W m-2 033.235 ! Surface latent heat flux slhf J m-2 147.128 Mean surface latent heat flux mslhf W m-2 034.235 ! Surface solar radiation downwards ssrd J m-2 169.128 Mean surface downward short-wave radiation flux msdwswrf W m-2 035.235 ! Surface thermal radiation downwards strd J m-2 175.128 Mean surface downward long-wave radiation flux msdwlwrf W m-2 036.235 ! Surface net solar radiation ssr J m-2 176.128 Mean surface net short-wave radiation flux msnswrf W m-2 037.235 ! Surface net thermal radiation str J m-2 177.128 Mean surface net long-wave radiation flux msnlwrf W m-2 038.235 ! Eastward turbulent surface stress ewss N m-2 s 180.128 Mean eastward turbulent surface stress metss N m-2 041.235 ! Northward turbulent surface stress nsss N m-2 s 181.128 Mean northward turbulent surface stress mntss N m-2 042.235 ! ----------------------------------------------------------------- ------------------------------------------------------------------------------- ! tmm.setup.001.apply : T ! available in era5: "forecast surface roughness (244.128)", "forecast albedo (243.128)" tmm.setup.001.files : CVL/CVH/TVL/TVH/Z/LSM/FSR/FAL tmm.setup.001.sources : ecmwf-tm5:class=${my.meteo.class};type=an;levs=sfc;grid=N${GGN} tmm.setup.001.search : ! tmm.setup.002.apply : T tmm.setup.002.files : CI/SSTK/SWVL1/SWVL2/SWVL3/SWVL4/STL1/10FG/SD/MLSPR/MCPR/MSR/MSSHF/MSLHF/BLH/10U/10V/2T/2D/MSNSWRF/METSS/MNTSS/SRC/SKT tmm.setup.002.sources : ecmwf-tm5:class=${my.meteo.class};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};type=fc;levs=${my.eclevs};grid=T${SHT} tmm.setup.003.search : ! tmm.setup.004.apply : T tmm.setup.004.files : LNSP/T/Q/W/CLWC/CIWC/CC/MUMF/MDMF/MUDR/MDDR/MTDCH tmm.setup.004.sources : ecmwf-tm5:class=${my.meteo.class};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 : F tmm.setup.006.files : AL tmm.setup.006.sources : ecmwf-tm5:class=${my.meteo.class};type=an;levs=sfc;grid=N${GGN} tmm.setup.006.search : ! tmm.setup.007.apply : T !tmm.setup.007.files : SSRD/STR/STRD tmm.setup.007.files : MSDWSWRF/MSNLWRF/MSDWLWRF tmm.setup.007.sources : ecmwf-tm5:class=${my.meteo.class};type=fc;levs=sfc;grid=N${GGN} tmm.setup.007.search : !================================================ ! ** output meteo !================================================ ! Write output (T/F)? tmm.output : T ! Write all fields (T/F)? tmm.output.*.* : T ! do not write constant fields, already available .. tmm.output.*.oro : F tmm.output.*.lsm : F ! 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 ! ! ! ** ea production ! tmm.destkey.*.ml : tm5-nc:mdir=ec-${my.ecclass_ecl}-${my.source.tres.ml}-${my.mlevs}-${my.region1}${my.mext};tres=_00p03 tmm.destkey.*.convec : tm5-nc:mdir=ec-${my.ecclass_ecl}-${my.source.tres.ml}-${my.mlevs}-${my.region1}${my.mext};tres=_00p03 tmm.destkey.*.diffus : tm5-nc:mdir=ec-${my.ecclass_ecl}-${my.source.tres.ml}-${my.mlevs}-${my.region1}${my.mext};tres=_00p03 ! tmm.destkey.*.sfc : tm5-nc:mdir=ec-${my.ecclass_ecl}-${my.source.tres.sfc}-sfc-${my.region1}${my.mext};tres=_00p01 tmm.destkey.*.sfc.an : tm5-nc:mdir=ec-${my.ecclass_ecl}-${my.source.tres.sfc.an}-sfc-${my.region1}${my.mext};tres=_00p01 ! 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. ! ================================================ ! The "tm5-tmm-store" script is run if added to the list of postprocessing ! scripts in your main rc file. ! ! 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 ! ERA-Interim / OD !!~ TESTING: user archive: !tmm.output.store.archives : ecfs:umask=002%/${USER}/TM/meteo-nc/*.tar5 !~ main archive: tmm.output.store.archives : ecfs:umask=002%/nlh/TM/meteo-nc/*.tar5 !------------------------------ ! ** CF conventions !------------------------------ ! file with standard name table: cf-standard-name-table : ${PWD}/tools/cf/data/cf-standard-name-table-v15.xml