pycasso-meteo-tm5-produce-coarsen.rc 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411
  1. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  2. !
  3. ! Include this file in the rcfile:
  4. !
  5. ! #include /path/to/thisfile.rc
  6. !
  7. ! The following variables are used and should have been defined:
  8. !
  9. ! * in the main rcfile:
  10. !
  11. ! ! short names for regions:
  12. ! my.region1 : glb600x400
  13. ! my.region2 : eur300x200
  14. ! my.region3 : eur100x100
  15. !
  16. ! ! grid names for meteo input:
  17. ! my.region1m : ${my.region1}
  18. ! my.region2m : ${my.region2}
  19. ! my.region3m : eux100x100
  20. !
  21. ! ! Number of model levels:
  22. ! my.levs : all | tropo25 | tropo34
  23. !
  24. ! ! ECMWF meteo class ('ei' or 'od')
  25. ! my.meteo.class : ei
  26. !
  27. ! ! file format: "tm5-nc" for netcdf, "tm5-hdf" for hdf
  28. ! my.meteo.format : tm5-nc
  29. !
  30. ! ! call meteo setup script (T|F) ?
  31. ! my.tmm.setup.apply : F
  32. !
  33. ! * in the machine rc file:
  34. !
  35. ! ! local directory with unpacked meteo files:
  36. ! my.meteo.dir : /scratch/shared/meteo
  37. !
  38. ! ! where to search of missing files ?
  39. ! my.meteo.search : ec:ecfs[nlh]:TM/meteo
  40. !
  41. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  42. !
  43. ! The keys that define meteo usage have the form:
  44. !
  45. ! <key(s)>.<name(s)>
  46. !
  47. ! or, if the property depends on the zoom region:
  48. !
  49. ! <key(s)>.<region_name>.<name(s)>
  50. !
  51. ! The region_name is either a '*' or names like 'glb300x200' etc.
  52. !
  53. ! Multipe names could apply to the same field; see the table below.
  54. ! A '*' applies to all fields.
  55. ! If more than name applies to a field, the last one defines the value.
  56. ! For example, the following 3 keys all apply to the 'oro' field,
  57. ! but the resulting temporal interpolation will be 'const' :
  58. !
  59. ! meteo.tinterp.* : interp3
  60. ! meteo.tinterp.sfc.an : interp6
  61. ! meteo.tinterp.oro : const
  62. !
  63. ! Summary of possible name(s) :
  64. !
  65. ! field name(s) that apply to this field
  66. ! -------- ------------------------------------------------------
  67. ! sp ml sp
  68. ! mfw ml mflux_w
  69. ! tsp ml mflux_w
  70. ! mfu ml mflux_uv
  71. ! mfv ml mflux_uv
  72. ! T ml temper
  73. ! Q ml humid
  74. ! CLWC ml cloud
  75. ! CIWC ml cloud
  76. ! CC ml cloud
  77. ! CCO ml cloud
  78. ! CCU ml cloud
  79. ! eu ml convec
  80. ! ed ml convec
  81. ! du ml convec
  82. ! dd ml convec
  83. ! K ml diffus
  84. ! oro sfc sfc.const sfc.an oro
  85. ! lsm sfc sfc.const sfc.an lsm
  86. ! ci sfc sfc.inst sfc.day sfc.fc ci
  87. ! sst sfc sfc.inst sfc.fc sst
  88. ! u10m sfc sfc.inst sfc.fc u10m
  89. ! v10m sfc sfc.inst sfc.fc u10m
  90. ! g10m sfc sfc.inst sfc.fc g10m
  91. ! src sfc sfc.inst sfc.fc src
  92. ! d2m sfc sfc.inst sfc.fc d2m
  93. ! t2m sfc sfc.inst sfc.fc t2m
  94. ! skt sfc sfc.inst sfc.fc blh
  95. ! blh sfc sfc.inst sfc.fc skt
  96. ! sshf sfc sfc.aver sfc.fc sshf
  97. ! slhf sfc sfc.aver sfc.fc slhf
  98. ! ewss sfc sfc.aver sfc.fc ewss
  99. ! nsss sfc sfc.aver sfc.fc nsss
  100. ! cp sfc sfc.aver sfc.fc cp
  101. ! lsp sfc sfc.aver sfc.fc lsp
  102. ! sf sfc sfc.aver sfc.fc sf
  103. ! ssr sfc sfc.aver sfc.fc ssr
  104. ! sd sfc sfc.inst sfc.day sfc.fc sd
  105. ! swvl1 sfc sfc.inst sfc.day sfc.fc swvl1
  106. ! tv sfc sfc.inst sfc.day sfc.an veg
  107. ! cvl sfc sfc.inst sfc.day sfc.an veg
  108. ! cvh sfc sfc.inst sfc.day sfc.an veg
  109. ! albedo sfc sfc.inst sfc.day sfc.an albedo
  110. ! sr sfc sfc.inst sfc.day sfc.an sr
  111. ! srols sfc sfc.inst sfc.day sfc.an srols
  112. !
  113. ! Background:
  114. ! o 'ml' and 'sfc' indicate model levels and surface level
  115. ! o surface fields could have a constant value (sfc.const),
  116. ! have instananeous values (sfc.inst),
  117. ! or averaged over an accumulation interval (sfc.aver).
  118. ! o when meteo was produced by TMPP, some fields were stored
  119. ! as daily averages (sfc.day)
  120. ! o surface fields could originate from an ecmwf forecast (sfc.fc)
  121. ! or from the analysis (sfc.an)
  122. ! o group names apply to fields that usually belong together,
  123. ! for example the vegation fields (veg)
  124. !
  125. !====================================================
  126. ! ~ get number of meteo levels, and set class variable for filenames
  127. !====================================================
  128. #if "${my.meteo.class}" == "od" :
  129. ! ~ number of levels for od data increases in time ...
  130. #if int("${timerange.start}"[0:4]) <= 2005 :
  131. my.meteo.nlev : 60
  132. #else
  133. my.meteo.nlev : 91
  134. #endif
  135. my.ecclass_ecl : ${my.meteo.class}_L${my.meteo.nlev}
  136. #elif "${my.meteo.class}" == "ei" :
  137. ! ~ era interim
  138. my.meteo.nlev : 60
  139. my.ecclass_ecl : ${my.meteo.class}
  140. #else :
  141. #error "unsupported meteo class : ${my.meteo.class}"
  142. #endif
  143. !previously ECLEVS:
  144. my.eclevs : ml${my.meteo.nlev}
  145. !------------------------------
  146. ! name for choice of number of model levels (previously LEVS)
  147. !------------------------------
  148. #if "${my.levs}" in ["all",""] :
  149. my.mlevs : ml${my.meteo.nlev}
  150. #elif "${my.levs}" in ["tropo25","tropo34","ml40"] :
  151. my.mlevs : ${my.levs}
  152. #else :
  153. #error "unsupported number of model levels : ${my.levels}"
  154. #endif
  155. !------------------------------
  156. ! ** which files should be read ?
  157. !------------------------------
  158. !! by default, load nothing;
  159. !! processes will set flags if meteo is needed:
  160. !meteo.read.*.* : F
  161. ! read only 3D fields up to zoom regions:
  162. meteo.read.*.* : F
  163. meteo.read.*.ml : T
  164. meteo.read.glb100x100.ml : F
  165. ! no diffusion by default yet ..
  166. meteo.read.*.diffus : F
  167. !------------------------------
  168. ! ** temporal interpolation
  169. !------------------------------
  170. !
  171. ! Temporal interpolation is defined first by general key:
  172. !
  173. ! meteo.tinterp.* : const6
  174. !
  175. ! Optionally, different settings might be chosen for specific meteo:
  176. !
  177. ! sp mflux_uv mflux_w temper humid cloud convec surf.inst surf.aver surf.day albedo sr
  178. !
  179. ! Possible time interpolations:
  180. ! o month : constant in month
  181. ! o const : constant
  182. ! o const24 : constant in 24hr intervals [00:00,24:00]
  183. ! o const6 : constant in 6hr intervals [21:00,03:00] [03:00,09:00] ...
  184. ! o const3 : constant in 3hr intervals [22:30,01:30] [01:30,04:30] ...
  185. ! o interp6 : interpoloated between 00, 06, 12, 18
  186. ! o interp6_3 : interpoloated between 03, 09, 15, 21
  187. ! o interp3 : interpoloated between 00, 03, 06, 09, 12, 15, 18, 21
  188. ! o aver6 : time averages over intervals ]00,06], [06,12], ...
  189. ! o aver3 : time averages over intervals [00,03], [03,06], ...
  190. ! o aver24 : time averages over interval [00,24]
  191. ! o aver24_3 : time averages over interval [21,21]
  192. !
  193. !
  194. ! ~~~ od meteo production
  195. !
  196. ! ~ fc fields are 3 hourly instantaneous; keep them constant,
  197. ! except for the accumulated fields which have been averaged over 3 hour:
  198. ! ~ fc 3 hourly
  199. meteo.tinterp.* : const3
  200. meteo.tinterp.sp : interp3
  201. meteo.tinterp.sfc.aver : aver3
  202. ! ~ an fields 6 hourly instantaneous; keep them constant,
  203. ! except oro and lsm which are constant:
  204. meteo.tinterp.sfc.an : interp6
  205. ! ~ constant
  206. meteo.tinterp.oro : const
  207. meteo.tinterp.lsm : const
  208. ! ~ surface roughness Olsson/Ganzeveld is per month:
  209. meteo.tinterp.srols : month
  210. !------------------------------
  211. ! ** source keys : how to form a file name ?
  212. !------------------------------
  213. !
  214. ! TMM requires keys on how to form a meteo filename.
  215. ! A key should be defined for each region (names are in 'dims_grid.F90'):
  216. !
  217. ! tmm.sourcekey.${my.region1}.* : tmpp:class=od;type=fc;levs=ml60;grid=glb3x2;tres=_21p06
  218. !
  219. ! Optionally, some specific fields might be read from a different set:
  220. !
  221. ! tmm.sourcekey.${my.region1}.sp : ecmwf:form=3hr;class=od;type=fc;nlev=60;sh=159;tres=_fc012up2tr3
  222. !
  223. ! Possible specific fields:
  224. !
  225. ! sp mflux_uv mflux_w temper humid cloud convec
  226. ! surf oro lsm albedo sr
  227. !
  228. ! Examples of source keys:
  229. !
  230. ! * tmpp:class=od;type=fc;levs=ml60;grid=glb3x2;tres=_21p06
  231. !
  232. ! Identifies the regular TMPP hdf files:
  233. ! xxxx/od-fc-2000-01-ml60-glb3x2-uvsp_20000101_21p06.hdf
  234. ! etc
  235. !
  236. ! * tmpp:class=od;type=fc;levs=ml60;grid=glb3x2;tres=_21p06;pathsep=\;namesep=\
  237. !
  238. ! Idem, but then for full Windows path names:
  239. ! xxxx\od\fc\2000\01\ml60\glb3x2\uvsp_20000101_21p06.hdf
  240. ! etc
  241. !
  242. ! * tm5-hdf:mdir=ec-fc012up2-ml60_tropo25-glb6x4;tres=_00p06
  243. !
  244. ! * msc-data:nlev=71;sh=47;mdir=cmam;type=iau;tres=_6hrly;sp_unit=hPa
  245. !
  246. ! * ncep-gfs:
  247. ! * ncep-cdc:
  248. !
  249. !
  250. ! ~~~ TM5 produced
  251. !
  252. tmm.sourcekey.*.* : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-fc012up2tr3-${my.eclevs}-glb100x100;tres=_00p03
  253. tmm.sourcekey.*.sfc.fc : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-fc012up2tr3-sfc-glb100x100;tres=_00p03
  254. tmm.sourcekey.*.sfc.an : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-an0tr6-sfc-glb100x100;tres=_00p06
  255. !------------------------------
  256. ! ** install meteo files
  257. !------------------------------
  258. ! location of meteo files;
  259. ! either a permanent archive, or a temporary scratch:
  260. !tmm.dir : ${my.meteo.dir}
  261. tmm.dir : ${my.project.dir}/tm5_meteo_in
  262. ! Clean up the temporary meteo ?
  263. ! o Set the clean flag (T|F) such that files that have not been accessed
  264. ! for a long time are removed if a maximum buffer usage is exceeded.
  265. ! o specify a maximum size: 500k, 1M, 2G
  266. !
  267. tmm.dir.clean : T
  268. tmm.dir.size : 30G
  269. !
  270. ! Meteo files could be setup before the actual program is started.
  271. ! First set the main switch to apply this or not.
  272. ! If to be applied, specify details for a number of sets;
  273. ! each set can be applied by a seperate flag.
  274. !
  275. tmm.setup.apply : ${my.tmm.setup.apply}
  276. ! display progress ?
  277. tmm.setup.verbose : T
  278. ! file permission mode for newly created files:
  279. ! o user archive : 644
  280. ! o archive shared by group : 664
  281. tmm.setup.mode : 664
  282. ! number of sets defined below:
  283. tmm.setup.nset : 2
  284. !
  285. ! ** TM5 produced hdf files:
  286. !
  287. tmm.setup.001.apply : T
  288. tmm.setup.001.files : sp mfuv mfw t q cld sub
  289. tmm.setup.001.sources : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-fc012up2tr3-${my.eclevs}-glb100x100;tres=_00p03
  290. tmm.setup.001.search : ${my.meteo.search}
  291. !
  292. tmm.setup.002.apply : T
  293. tmm.setup.002.files : oro
  294. tmm.setup.002.sources : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-an0tr6-sfc-glb100x100;tres=_00p03
  295. tmm.setup.002.search : ${my.meteo.search}
  296. !------------------------------
  297. ! ** output meteo
  298. !------------------------------
  299. ! should meteo be put out ? (used in the storage script):
  300. tmm.output : T
  301. ! By default, write all:
  302. tmm.output.*.* : T
  303. ! ... except surface field which are available already:
  304. tmm.output.*.sfc : F
  305. !
  306. !! ... and except the global fields if already done:
  307. !my.storeglb : T
  308. !tmm.output.${my.region1}.* : ${my.storeglb}
  309. !tmm.output.${my.region1}.sfc : F
  310. ! Define output format and/or first part of file name:
  311. !
  312. ! tmm.destkey.${my.region1}.* : tm5:mdir=ec-fc012up2-tropo25-glb6x4;tres=_00p06
  313. !
  314. ! Optionally overwrite for special sets
  315. !
  316. ! sp mflux_w mflux_uv temper humid cloud convec albedo sr
  317. !
  318. ! ** od/ei production
  319. !
  320. ! include subdir for year:
  321. my.yyyy :
  322. !my.yyyy : -<yyyy>
  323. !
  324. tmm.destkey.${my.region1}.ml : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-fc012up2tr3-${my.mlevs}-${my.region1}${my.yyyy};tres=_00p03
  325. #if "${my.region2}" != "" :
  326. tmm.destkey.${my.region2}.ml : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-fc012up2tr3-${my.mlevs}-${my.region2}${my.yyyy};tres=_00p03
  327. #endif
  328. #if "${my.region3}" != "" :
  329. tmm.destkey.${my.region3}.ml : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-fc012up2tr3-${my.mlevs}-${my.region3}${my.yyyy};tres=_00p03
  330. #endif
  331. #if "${my.region4}" != "" :
  332. tmm.destkey.${my.region4}.ml : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-fc012up2tr3-${my.mlevs}-${my.region4}${my.yyyy};tres=_00p03
  333. #endif
  334. #if "${my.region5}" != "" :
  335. tmm.destkey.${my.region5}.ml : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-fc012up2tr3-${my.mlevs}-${my.region5}${my.yyyy};tres=_00p03
  336. #endif
  337. !
  338. tmm.destkey.${region.glbsfc}.sfc : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-fc012up2tr3-sfc-glb100x100${my.yyyy};tres=_00p03
  339. tmm.destkey.${region.glbsfc}.sfc.an : ${my.meteo.format}:mdir=ec-${my.ecclass_ecl}-an0tr6-sfc-glb100x100${my.yyyy};tres=_00p06
  340. ! TM5 writes new meteo files to:
  341. tmm.output.dir : ${my.project.dir}/tm5_meteo_out
  342. ! ensure creation via 'install' facilty:
  343. tmm.output.install.dir : ${tmm.output.dir}
  344. ! Call storage script 'tm5-tmm-store' to store copies in archive ?
  345. ! Specify one or more archives.
  346. ! Files are stored in monthly tar files if an archive ends with '/*.tar';
  347. ! large 3D files per 10 or 5 days for '/*.tar10' or '/*.tar5' .
  348. ! Examples:
  349. ! ${SCRATCH}/TM/meteo_day
  350. ! ecfs:/nlh/TM/meteo/*.tar
  351. ! mos:umask=002%/fa/ks/meteo/*.tar
  352. ! NOTE: files are removed from <tmm.output.dir> after storage ...
  353. tmm.output.store : T
  354. tmm.output.store.verbose : T
  355. #if "${my.meteo.format}" == "tm5-nc"
  356. tmm.output.store.archives : ecfs:umask=002%/nlh/TM/meteo-nc/*.tar
  357. #else
  358. tmm.output.store.archives : ecfs:umask=002%/nlh/TM/meteo/*.tar
  359. #endif
  360. !------------------------------
  361. ! ** CF conventions
  362. !------------------------------
  363. ! file with standard name table:
  364. cf-standard-name-table : ${PWD}/tools/cf/data/cf-standard-name-table-v15.xml