namcouple.sh 40 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126
  1. # namcouple.sh writes the OASIS3-MCT namcouple file to standard out. The
  2. # content of the file is based on the selected components in the $config
  3. # variable (function has_config)
  4. # Set coupling frequencies (in seconds) between components
  5. (( ${cpl_freq_atm_oce_sec:-} )) && cpl_freq_atm_oce_sec=${cpl_freq_atm_oce_sec}
  6. (( ${cpl_freq_atm_ctm_hrs:-} )) && cpl_freq_atm_ctm_sec=$(( cpl_freq_atm_ctm_hrs * 3600 ))
  7. (( ${cpl_freq_atm_lpjg_hrs:-} )) && cpl_freq_atm_lpjg_sec=$(( cpl_freq_atm_lpjg_hrs * 3600 ))
  8. # Set coupling field lags
  9. (( ${ifs_time_step_sec:-} )) && lag_atm_oce=${ifs_time_step_sec}
  10. (( ${nem_time_step_sec:-} )) && lag_oce_atm=${nem_time_step_sec}
  11. (( ${ifs_time_step_sec:-} )) && lag_atm_ctm=${ifs_time_step_sec}
  12. (( ${tm5_time_step_sec:-} )) && lag_ctm_atm=${tm5_time_step_sec}
  13. (( ${ifs_time_step_sec:-} )) && (( ${cpl_freq_atm_ctm_sec:-} )) && \
  14. lag_atm_ctm_mid=$(( (((cpl_freq_atm_ctm_sec / ifs_time_step_sec)+1)/2 +1) * ifs_time_step_sec ))
  15. (( ${ifs_time_step_sec:-} )) && lag_atm_lpjg=${ifs_time_step_sec} || lag_atm_lpjg=0
  16. (( ${lpjg_time_step_sec:-} )) && lag_lpjg_atm=${lpjg_time_step_sec} || lag_lpjg_atm=0
  17. # Check consistency of model timesteps and coupling frequencies
  18. ck_cpl_freq(){
  19. # expects to be called as: ck_cpl_freq coupling_frequency model_timestep
  20. if (($(($1%$2))))
  21. then
  22. echo "*EE* model timestep $2 does not divide coupling frequency $1 " 1>&2
  23. return 1
  24. fi
  25. }
  26. if has_config ifs tm5
  27. then
  28. ck_cpl_freq $cpl_freq_atm_ctm_sec $tm5_time_step_sec || exit 1
  29. ck_cpl_freq $cpl_freq_atm_ctm_sec $ifs_time_step_sec || exit 1
  30. fi
  31. if has_config ifs nemo
  32. then
  33. ck_cpl_freq $cpl_freq_atm_oce_sec $nem_time_step_sec || exit 1
  34. ck_cpl_freq $cpl_freq_atm_oce_sec $ifs_time_step_sec || exit 1
  35. fi
  36. # Atmosphere/Land grids (note that TM5 and LPJG require IFS)
  37. if (( ${ifs_res_hor:-} ))
  38. then
  39. # IFS grid point grids
  40. case ${ifs_res_hor} in
  41. 159) atm_grid=A080
  42. ;;
  43. 255) atm_grid=A128
  44. ;;
  45. 511) atm_grid=A256
  46. ;;
  47. 799) atm_grid=A400
  48. ;;
  49. *) echo "*EE* Unsupported horizontal resolution (IFS): ${ifs_res_hor}" 1>&2
  50. exit 1
  51. ;;
  52. esac
  53. # LPJG
  54. lpjg_grid=${atm_grid}
  55. # IFS grid point grids without land-sea mask
  56. atm_grid_nm=$(echo ${atm_grid} | sed 's/A/B/')
  57. # IFS/TM5 spectral grids
  58. atm_grid_sh=T${ifs_res_hor}
  59. ctm_grid_sh=C${ifs_res_hor}
  60. # TM5 grid point grids
  61. ctm_grid=CTM3
  62. ctm_nx=120
  63. ctm_ny=90
  64. #
  65. ctm_grid_sfc=CTM1
  66. ctm_nx_sfc=360
  67. ctm_ny_sfc=180
  68. fi
  69. # NEMO grids
  70. (( ${nem_res_hor:-} )) && case ${nem_res_hor} in
  71. 1) oce_grid=O1t0
  72. ;;
  73. 025) oce_grid=Ot25
  74. ;;
  75. *) echo "*EE* Unsupported horizontal resolution (NEMO): ${nem_res_hor}" 1>&2
  76. exit 1
  77. ;;
  78. esac
  79. # Functions expcat and explvl expand their arguments into coupling field names
  80. # with the appropriate extensions for categories/levels and according to the
  81. # syntax needed in the namcouple file.
  82. #
  83. # Usage: expcat NUM FLDA FLDB
  84. # explvl NUM_START NUM_END FLDA FLDB
  85. #
  86. function expcat()
  87. {
  88. printf "$2.C%.3d" 1
  89. [ $1 -gt 1 ] && printf ":$2.C%.3d" $(eval echo {2..$1})
  90. printf " $3.C%.3d" 1
  91. [ $1 -gt 1 ] && printf ":$3.C%.3d" $(eval echo {2..$1})
  92. }
  93. function explvl()
  94. {
  95. printf "$3.L%.3d" $1
  96. [ $2 -gt $1 ] && printf ":$3.L%.3d" $(eval echo {$(($1+1))..$2})
  97. printf " $4.L%.3d" $1
  98. [ $2 -gt $1 ] && printf ":$4.L%.3d" $(eval echo {$(($1+1))..$2})
  99. }
  100. # Functions expfield_* split one 3D variable into \$nbundle namcouple entries.
  101. # They are dedicated to TM5-IFS coupling.
  102. # Set nbundle to \$tm5_exch_nlevs for one entry per level.
  103. nbundle=3
  104. nlev=${tm5_exch_nlevs:-${nbundle}}
  105. (( $nbundle > $nlev )) && nbundle=$nlev
  106. ia=$(($nlev/$nbundle))
  107. ib=$(($nlev%$nbundle))
  108. nbundle_cutoff=2
  109. nlev_cutoff=${tm5_exch_nlevs_cutoff:-${nbundle_cutoff}}
  110. (( $nbundle_cutoff > $nlev_cutoff )) && nbundle_cutoff=$nlev_cutoff
  111. ia_cutoff=$(($nlev_cutoff/$nbundle_cutoff))
  112. ib_cutoff=$(($nlev_cutoff%$nbundle_cutoff))
  113. function expfield_sh()
  114. {
  115. # args = ifs-var, tm5-var, CF-code, restart, header
  116. for k in $(eval echo {1..$nbundle})
  117. do
  118. start=$(( (k-1)*ia+1 ))
  119. extra=$(( (k-1)<ib?(k-1):ib ))
  120. start=$(( start+extra ))
  121. end=$(( start + ia - 1 ))
  122. (( ib>(k-1) )) && ((end+=1))
  123. cat <<EOF
  124. #
  125. $(explvl $start $end $1 $2) $3 ${cpl_freq_atm_ctm_sec} 2 $4 EXPORTED
  126. ${atm_grid_sh} ${ctm_grid_sh} LAG=${lag_atm_ctm_mid}
  127. P 0 P 0
  128. CHECKIN CHECKOUT
  129. INT=0
  130. INT=0
  131. EOF
  132. done
  133. }
  134. function expfield_gg()
  135. {
  136. # args = ifs-var, tm5-var, CF-code, restart, lag, header (not used)
  137. for k in $(eval echo {1..$nbundle})
  138. do
  139. start=$(( (k-1)*ia+1 ))
  140. extra=$(( (k-1)<ib?(k-1):ib ))
  141. start=$(( start+extra ))
  142. end=$(( start + ia - 1 ))
  143. (( ib>(k-1) )) && ((end+=1))
  144. cat <<EOF
  145. #
  146. $(explvl $start $end $1 $2) $3 ${cpl_freq_atm_ctm_sec} 1 $4 EXPORTED
  147. ${atm_grid_nm} ${ctm_grid} LAG=$5
  148. P 0 P 0
  149. SCRIPR
  150. GAUSWGT D SCALAR LATITUDE 90 9 2.0
  151. EOF
  152. done
  153. }
  154. function expfield_gg_aver()
  155. {
  156. # args = ifs-var, tm5-var, CF-code, restart, lag, header (not used)
  157. for k in $(eval echo {1..$nbundle})
  158. do
  159. start=$(( (k-1)*ia+1 ))
  160. extra=$(( (k-1)<ib?(k-1):ib ))
  161. start=$(( start+extra ))
  162. end=$(( start + ia - 1 ))
  163. (( ib>(k-1) )) && ((end+=1))
  164. cat <<EOF
  165. #
  166. $(explvl $start $end $1 $2) $3 ${cpl_freq_atm_ctm_sec} 2 $4 EXPORTED
  167. ${atm_grid_nm} ${ctm_grid} LAG=$5
  168. P 0 P 0
  169. LOCTRANS SCRIPR
  170. AVERAGE
  171. GAUSWGT D SCALAR LATITUDE 90 9 2.0
  172. EOF
  173. done
  174. }
  175. function expfield_fbck()
  176. {
  177. # args = tm5-var, ifs-var, CF-code, restart, lag, header (not used)
  178. for k in $(eval echo {1..$nbundle})
  179. do
  180. start=$(( (k-1)*ia+1 ))
  181. extra=$(( (k-1)<ib?(k-1):ib ))
  182. start=$(( start+extra ))
  183. end=$(( start + ia - 1 ))
  184. (( ib>(k-1) )) && ((end+=1))
  185. cat <<EOF
  186. #
  187. $(explvl $start $end $1 $2) $3 ${cpl_freq_atm_ctm_sec} 1 $4 EXPORTED
  188. ${ctm_grid} ${atm_grid_nm} LAG=$5
  189. P 0 P 0
  190. SCRIPR
  191. BILINEAR LR SCALAR LATITUDE 16
  192. EOF
  193. done
  194. }
  195. function expfield_fbck_cutoff()
  196. {
  197. # args = tm5-var, ifs-var, CF-code, restart, lag, header (not used)
  198. for k in $(eval echo {1..$nbundle_cutoff})
  199. do
  200. start=$(( (k-1)*ia_cutoff+1 ))
  201. extra=$(( (k-1)<ib_cutoff?(k-1):ib_cutoff ))
  202. start=$(( start+extra ))
  203. end=$(( start + ia_cutoff - 1 ))
  204. (( ib_cutoff>(k-1) )) && ((end+=1))
  205. cat <<EOF
  206. #
  207. $(explvl $start $end $1 $2) $3 ${cpl_freq_atm_ctm_sec} 1 $4 EXPORTED
  208. ${ctm_grid} ${atm_grid_nm} LAG=$5
  209. P 0 P 0
  210. SCRIPR
  211. BILINEAR LR SCALAR LATITUDE 16
  212. EOF
  213. done
  214. }
  215. # workaround for lpjg_forcing (which replaces IFS as seen from LPJG)
  216. has_config lpjg_forcing && config=$config" "atm
  217. has_config ifs && config=$config" "atm
  218. # Configure number of coupling fields
  219. # Note that the || : terms after the arithmetic expression is necessary to
  220. # prevent set -e from stopping the script depending on the outcome of the
  221. # expression.
  222. nfields=0
  223. has_config ifs nemo rnfmapper && (( nfields+=9 )) || :
  224. has_config atm lpjg && (( nfields+=20 )) || :
  225. has_config ifs amip && (( nfields+=1 )) || :
  226. # ifs -> tm5
  227. has_config ifs tm5:co2 && (( nfields+=(12 + 8*nbundle) )) || :
  228. has_config ifs tm5:chem && (( nfields+=(39 + 13*nbundle) )) || :
  229. # tm5 -> ifs
  230. has_config ifs tm5:o3 && (( nfields+=nbundle )) || :
  231. has_config ifs tm5:ch4 && (( nfields+=nbundle )) || :
  232. has_config ifs tm5:aero && (( nfields+=(67*nbundle_cutoff) )) || :
  233. # tm5 <-> lpjg
  234. has_config lpjg tm5:co2 && (( nfields+=2 )) || :
  235. # The following while loop reads the rest of this file (until the
  236. # END_OF_NAMCOUPLE marker) and processes any #defcfg and #enddef directives.
  237. # Note that the "IFS=" at the loop header is necessary to preserve leading
  238. # spaces. (IFS stands for Input Field Separator and has nothing to do with the
  239. # atmosphere model)
  240. #
  241. # The $lineout variable controls whether a particular line is send to standard
  242. # out. It is set to true before the loop as a default.
  243. #
  244. # Set 'set +u' is necessary because Bash here-documents (the part
  245. # between '<<END_OF_NAMCOUPLE' and 'END_OF_NAMCOUPLE') expands shell variables
  246. # and this part may contain undefined variables.
  247. lineout=1
  248. set +u
  249. while IFS= read line
  250. do
  251. # Skip empty lines
  252. [[ $line =~ ^[[:blank:]]*$ ]] && continue
  253. # Process lines that start with #defcfg
  254. if [[ $line =~ ^#defcfg ]]
  255. then
  256. # Get the config string, i.e. everything after #defcfg and before the
  257. # second # character.
  258. # Note the ||: at the end of the expression! It is necessary because
  259. # set -e would otherwise abort the script when no comment is found.
  260. cfgstring=$(expr "$line" : '^#defcfg[[:blank:]]*\([^#]*\)' || :)
  261. # Set $lineout depending on whether has_config returns true or false
  262. has_config $cfgstring && lineout=1 || lineout=0
  263. # Get the comment, i.e. everyting starting from the second # character
  264. # Note the ||: at the end of the expression!
  265. comment=$(expr "$line" : '^#defcfg[^#]*[[:blank:]]*\(.*\)' || :)
  266. # Output the comment (with the config string from defcfg added) if
  267. # $lineout is true and if the comment is not empty
  268. (( lineout )) && [[ -n "$comment" ]] && echo "$comment [$(echo $cfgstring)]"
  269. # Process #enddef lines: reset $lineout
  270. elif [[ $line =~ ^#enddef ]]
  271. then
  272. lineout=1
  273. # Process lines that create bundles of 3D variables
  274. elif [[ $line =~ ^expfield ]]
  275. then
  276. (( lineout )) && $line
  277. # Process any other lines (output according to $lineout)
  278. else
  279. (( lineout )) && echo "$line"
  280. fi
  281. done << END_OF_NAMCOUPLE
  282. # =================================================================================================
  283. # General OASIS configuration
  284. # =================================================================================================
  285. \$NFIELDS
  286. ${nfields}
  287. \$END
  288. # -------------------------------------------------------------------------------------------------
  289. \$RUNTIME
  290. ${leg_length_sec}
  291. \$END
  292. # -------------------------------------------------------------------------------------------------
  293. \$NLOGPRT
  294. 0
  295. \$END
  296. # -------------------------------------------------------------------------------------------------
  297. \$STRINGS
  298. #defcfg ifs nemo
  299. # =================================================================================================
  300. # Fields send from Atmosphere to Ocean
  301. # =================================================================================================
  302. #enddef
  303. #defcfg ifs nemo # --- Momentum fluxes for oce and ice on U grid ---
  304. A_TauX_oce:A_TauY_oce:A_TauX_ice:A_TauY_ice O_OTaux1:O_OTauy1:O_ITaux1:O_ITauy1 1 ${cpl_freq_atm_oce_sec} 2 rstas.nc EXPORTED
  305. ${atm_grid} ${oce_grid/t/u} LAG=${lag_atm_oce}
  306. P 0 P 2
  307. LOCTRANS SCRIPR
  308. AVERAGE
  309. GAUSWGT D SCALAR LATITUDE 1 9 2.0
  310. #enddef
  311. #defcfg ifs nemo # --- Momentum fluxes for oce and ice on V grid ---
  312. A_TauX_oce:A_TauY_oce:A_TauX_ice:A_TauY_ice O_OTaux2:O_OTauy2:O_ITaux2:O_ITauy2 1 ${cpl_freq_atm_oce_sec} 2 rstas.nc EXPORTED
  313. ${atm_grid} ${oce_grid/t/v} LAG=${lag_atm_oce}
  314. P 0 P 2
  315. LOCTRANS SCRIPR
  316. AVERAGE
  317. GAUSWGT D SCALAR LATITUDE 1 9 2.0
  318. #enddef
  319. #defcfg ifs nemo # --- Non-solar and solar radiation over ocean+ice, total evaporation, precipitation (conserved, preserved sign) ---
  320. A_Qns_mix:A_Qs_mix:A_Evap_total:A_Precip_liquid:A_Precip_solid O_QnsMix:O_QsrMix:OTotEvap:OTotRain:OTotSnow 1 ${cpl_freq_atm_oce_sec} 3 rstas.nc EXPORTED
  321. ${atm_grid} ${oce_grid} LAG=${lag_atm_oce}
  322. P 0 P 2
  323. LOCTRANS SCRIPR CONSERV
  324. AVERAGE
  325. GAUSWGT D SCALAR LATITUDE 1 9 2.0
  326. GLBPOS opt
  327. #enddef
  328. #defcfg ifs nemo # --- Solar/non-solar radiation over ice, dQns/dT, evaporation over ice (not conserved) ---
  329. A_Qs_ice:A_Qns_ice:A_dQns_dT:A_Evap_ice O_QsrIce:O_QnsIce:O_dQnsdT:OIceEvap 1 ${cpl_freq_atm_oce_sec} 2 rstas.nc EXPORTED
  330. ${atm_grid} ${oce_grid} LAG=${lag_atm_oce}
  331. P 0 P 2
  332. LOCTRANS SCRIPR
  333. AVERAGE
  334. GAUSWGT D SCALAR LATITUDE 1 9 2.0
  335. #enddef
  336. #defcfg ifs rnfmapper
  337. # =================================================================================================
  338. # Fields send from Atmosphere to Runoff mapper
  339. # =================================================================================================
  340. #enddef
  341. #defcfg ifs rnfmapper # --- Runoff + Calving ---
  342. A_Runoff:A_Calving R_Runoff_atm:R_Calving_atm 1 ${cpl_freq_atm_oce_sec} 3 rstas.nc EXPORTED
  343. ${atm_grid/A/R} RnfA LAG=${lag_atm_oce}
  344. P 0 P 0
  345. LOCTRANS SCRIPR CONSERV
  346. AVERAGE
  347. GAUSWGT D SCALAR LATITUDE 1 9 2.0
  348. GLBPOS opt
  349. #enddef
  350. #defcfg rnfmapper nemo
  351. # =================================================================================================
  352. # Fields send from Runoff mapper to the Ocean
  353. # =================================================================================================
  354. #enddef
  355. #defcfg rnfmapper nemo # --- Runoff ---
  356. R_Runoff_oce O_Runoff 1 ${cpl_freq_atm_oce_sec} 3 rstas.nc EXPORTED
  357. RnfO ${oce_grid} LAG=0
  358. P 0 P 2
  359. SCRIPR CONSERV BLASNEW
  360. GAUSWGT LR SCALAR LATITUDE 1 9 2.0
  361. GLBPOS opt
  362. ${oas_mb_fluxcorr} 0
  363. #enddef
  364. #defcfg rnfmapper nemo # --- Calving ---
  365. R_Calving_oce OCalving 1 ${cpl_freq_atm_oce_sec} 2 rstas.nc EXPORTED
  366. RnfO ${oce_grid} LAG=0
  367. P 0 P 2
  368. SCRIPR CONSERV
  369. GAUSWGT LR SCALAR LATITUDE 1 9 2.0
  370. GLBPOS opt
  371. #enddef
  372. #defcfg ifs nemo
  373. # =================================================================================================
  374. # Fields send from Ocean to Atmosphere
  375. # =================================================================================================
  376. #enddef
  377. #defcfg ifs nemo # --- SST, ice temperature, albedo, fraction, thickness; snow thickness over ice ---
  378. O_SSTSST:O_TepIce:O_AlbIce:OIceFrc:OIceTck:OSnwTck A_SST:A_Ice_temp:A_Ice_albedo:A_Ice_frac:A_Ice_thickness:A_Snow_thickness 1 ${cpl_freq_atm_oce_sec} 2 rstos.nc EXPORTED
  379. ${oce_grid} ${atm_grid/A/L} LAG=${lag_oce_atm}
  380. P 2 P 0
  381. LOCTRANS SCRIPR
  382. AVERAGE
  383. GAUSWGT LR SCALAR LATITUDE 1 9 2.0
  384. #enddef
  385. #defcfg ifs tm5
  386. # =================================================================================================
  387. # Fields send from Atmosphere to CTM
  388. # =================================================================================================
  389. #enddef
  390. #defcfg ifs tm5 # --- Spectral Information ---
  391. A_SPINF C_SPINF 246 ${cpl_freq_atm_ctm_sec} 2 r_s2d.nc EXPORTED
  392. ${atm_grid_sh} ${ctm_grid_sh} LAG=${lag_atm_ctm}
  393. P 0 P 0
  394. CHECKIN CHECKOUT
  395. INT=0
  396. INT=0
  397. #enddef
  398. #defcfg ifs tm5 # --- Surface air pressure ---
  399. A_LNSP C_LNSP 348 ${cpl_freq_atm_ctm_sec} 2 r_s2d.nc EXPORTED
  400. ${atm_grid_sh} ${ctm_grid_sh} LAG=${lag_atm_ctm_mid}
  401. P 0 P 0
  402. CHECKIN CHECKOUT
  403. INT=0
  404. INT=0
  405. #enddef
  406. #defcfg ifs tm5 # --- Potential vorticity of atmosphere layer ---
  407. expfield_sh A_VOR C_VOR 273 r_vor.nc
  408. #enddef
  409. #defcfg ifs tm5 # --- Divergence of wind ---
  410. expfield_sh A_DIV C_DIV 168 r_div.nc
  411. #enddef
  412. #defcfg ifs tm5 # --- Geopotential ---
  413. A_OROG C_OROG 194 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  414. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm}
  415. P 0 P 0
  416. SCRIPR
  417. BILINEAR D SCALAR LATITUDE 90
  418. #enddef
  419. #defcfg ifs tm5 # --- Surface air pressure ---
  420. A_SPRES C_SPRES 33 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  421. ${atm_grid_nm} ${ctm_grid} LAG=${lag_atm_ctm}
  422. P 0 P 0
  423. SCRIPR
  424. GAUSWGT D SCALAR LATITUDE 90 9 2.0
  425. #enddef
  426. #defcfg ifs tm5 # --- Air temperature ---
  427. expfield_gg A_TMP C_TMP 110 r_tmp.nc ${lag_atm_ctm_mid} "# --------------- Field 7: Air temperature ---------------"
  428. #enddef
  429. #defcfg ifs tm5 # --- Relative humidity ---
  430. expfield_gg A_HUM C_HUM 295 r_hum.nc ${lag_atm_ctm_mid} "# --------------- Field 8: Relative humidity ---------------"
  431. #enddef
  432. #defcfg ifs tm5:chem # --- Atmosphere cloud liquid water content ---
  433. expfield_gg A_CLW C_CLW 119 r_clw.nc ${lag_atm_ctm_mid} "# --------------- Field 9: Atmosphere cloud liquid water content ---------------"
  434. #enddef
  435. #defcfg ifs tm5:chem # --- Atmosphere cloud ice content ---
  436. expfield_gg A_CIW C_CIW 118 r_ciw.nc ${lag_atm_ctm_mid} "# --------------- Field 10: Atmosphere cloud ice content ---------------"
  437. #enddef
  438. #defcfg ifs tm5:chem # --- Cloud area fraction ---
  439. expfield_gg A_CC C_CC 143 r_cc_.nc ${lag_atm_ctm_mid} "# --------------- Field 11: Cloud area fraction ---------------"
  440. #enddef
  441. #defcfg ifs tm5:chem # --- Cloud area fraction ---
  442. expfield_gg A_CCO C_CCO 143 r_cco.nc ${lag_atm_ctm_mid} "# --------------- Field 12: Cloud area fraction ---------------"
  443. #enddef
  444. #defcfg ifs tm5:chem # --- Cloud area fraction ---
  445. expfield_gg A_CCU C_CCU 143 r_ccu.nc ${lag_atm_ctm_mid} "# --------------- Field 13: Cloud area fraction ---------------"
  446. #enddef
  447. #defcfg ifs tm5 # --- Mass transport ---
  448. expfield_gg_aver A_UMF C_UMF 245 r_umf.nc ${lag_atm_ctm} "# --------------- Field 14: Untrainment ---------------"
  449. #enddef
  450. #defcfg ifs tm5 # --- Cloud area fraction ---
  451. expfield_gg_aver A_UDR C_UDR 245 r_udr.nc ${lag_atm_ctm} "# --------------- Field 15: Untrainment ---------------"
  452. #enddef
  453. #defcfg ifs tm5 # --- Mass transport ---
  454. expfield_gg_aver A_DMF C_DMF 245 r_dmf.nc ${lag_atm_ctm} "# --------------- Field 16: Detrainment ---------------"
  455. #enddef
  456. #defcfg ifs tm5 # --- Mass transport ---
  457. expfield_gg_aver A_DDR C_DDR 245 r_ddr.nc ${lag_atm_ctm} "# --------------- Field 17: Detrainment ---------------"
  458. #enddef
  459. #defcfg ifs tm5 # --- Land Sea Mask ---
  460. A_LSMSK C_LSMSK 206 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  461. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  462. P 0 P 0
  463. SCRIPR
  464. BILINEAR D SCALAR LATITUDE 90
  465. #enddef
  466. #defcfg ifs tm5:chem # --- Surface albedo ---
  467. A_ALB C_ALB 17 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  468. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  469. P 0 P 0
  470. SCRIPR
  471. BILINEAR D SCALAR LATITUDE 90
  472. #enddef
  473. #defcfg ifs tm5 # --- Surface roughness length ---
  474. A_SR C_SR 370 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  475. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  476. P 0 P 0
  477. SCRIPR
  478. BILINEAR D SCALAR LATITUDE 90
  479. #enddef
  480. #defcfg ifs tm5:chem # --- Sea ice area fraction ---
  481. A_CI C_CI 44 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  482. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  483. P 0 P 0
  484. SCRIPR
  485. BILINEAR D SCALAR LATITUDE 90
  486. #enddef
  487. #defcfg ifs tm5 # --- Wind speed at 10m ---
  488. A_U10M C_U10M 56 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  489. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  490. P 0 P 0
  491. SCRIPR
  492. BILINEAR D SCALAR LATITUDE 90
  493. #enddef
  494. #defcfg ifs tm5 # --- Wind speed at 10m ---
  495. A_V10M C_V10M 56 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  496. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  497. P 0 P 0
  498. SCRIPR
  499. BILINEAR D SCALAR LATITUDE 90
  500. #enddef
  501. #defcfg ifs tm5:chem # --- Moisture content of soil layer ---
  502. A_SRC C_SRC 247 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  503. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  504. P 0 P 0
  505. SCRIPR
  506. BILINEAR D SCALAR LATITUDE 90
  507. #enddef
  508. #defcfg ifs tm5:chem # --- Dew point temperature ---
  509. A_D2M C_D2M 160 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  510. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  511. P 0 P 0
  512. SCRIPR
  513. BILINEAR D SCALAR LATITUDE 90
  514. #enddef
  515. #defcfg ifs tm5:chem # --- Surface temperature ---
  516. A_T2M C_T2M 34 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  517. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  518. P 0 P 0
  519. SCRIPR
  520. BILINEAR D SCALAR LATITUDE 90
  521. #enddef
  522. #defcfg ifs tm5 # --- Surface downward latent heat flux ---
  523. A_SLHF C_SLHF 355 ${cpl_freq_atm_ctm_sec} 2 r_g2d.nc EXPORTED
  524. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm}
  525. P 0 P 0
  526. LOCTRANS SCRIPR
  527. AVERAGE
  528. BILINEAR D SCALAR LATITUDE 90
  529. #enddef
  530. #defcfg ifs tm5 # --- Surface downward sensible heat flux ---
  531. A_SSHF C_SSHF 357 ${cpl_freq_atm_ctm_sec} 2 r_g2d.nc EXPORTED
  532. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm}
  533. P 0 P 0
  534. LOCTRANS SCRIPR
  535. AVERAGE
  536. BILINEAR D SCALAR LATITUDE 90
  537. #enddef
  538. #defcfg ifs tm5 # --- surface_downward_grid_eastward_stress ---
  539. A_EWSS C_EWSS 23 ${cpl_freq_atm_ctm_sec} 2 r_g2d.nc EXPORTED
  540. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm}
  541. P 0 P 0
  542. LOCTRANS SCRIPR
  543. AVERAGE
  544. BILINEAR D SCALAR LATITUDE 90
  545. #enddef
  546. #defcfg ifs tm5 # --- surface_downward_grid_northward_stress ---
  547. A_NSSS C_NSSS 24 ${cpl_freq_atm_ctm_sec} 2 r_g2d.nc EXPORTED
  548. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm}
  549. P 0 P 0
  550. LOCTRANS SCRIPR
  551. AVERAGE
  552. BILINEAR D SCALAR LATITUDE 90
  553. #enddef
  554. #defcfg ifs tm5:chem # --- convective_rainfall_flux ---
  555. A_CP C_CP 154 ${cpl_freq_atm_ctm_sec} 2 r_g2d.nc EXPORTED
  556. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm}
  557. P 0 P 0
  558. LOCTRANS SCRIPR
  559. AVERAGE
  560. BILINEAR D SCALAR LATITUDE 90
  561. #enddef
  562. #defcfg ifs tm5:chem # --- large_scale_rainfall_flux ---
  563. A_LSP C_LSP 212 ${cpl_freq_atm_ctm_sec} 2 r_g2d.nc EXPORTED
  564. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm}
  565. P 0 P 0
  566. LOCTRANS SCRIPR
  567. AVERAGE
  568. BILINEAR D SCALAR LATITUDE 90
  569. #enddef
  570. #defcfg ifs tm5:chem # --- surface_net_downward_shortwave_flux ---
  571. A_SSR C_SSR 7 ${cpl_freq_atm_ctm_sec} 2 r_g2d.nc EXPORTED
  572. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm}
  573. P 0 P 0
  574. LOCTRANS SCRIPR
  575. AVERAGE
  576. BILINEAR D SCALAR LATITUDE 90
  577. #enddef
  578. #defcfg ifs tm5:chem # --- surface_snow_amount ---
  579. A_SD C_SD 373 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  580. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  581. P 0 P 0
  582. SCRIPR
  583. BILINEAR D SCALAR LATITUDE 90
  584. #enddef
  585. #defcfg ifs tm5:chem # --- Mass fraction of unfrozen water in soil moisture ---
  586. A_SWVL1 C_SWVL1 242 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  587. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  588. P 0 P 0
  589. SCRIPR
  590. BILINEAR D SCALAR LATITUDE 90
  591. #enddef
  592. #defcfg ifs tm5:chem # --- Land area fraction ---
  593. A_TV01 C_TV01 206 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  594. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  595. P 0 P 0
  596. SCRIPR
  597. BILINEAR D SCALAR LATITUDE 90
  598. #enddef
  599. #defcfg ifs tm5:chem # --- Land area fraction ---
  600. A_TV02 C_TV02 206 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  601. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  602. P 0 P 0
  603. SCRIPR
  604. BILINEAR D SCALAR LATITUDE 90
  605. #enddef
  606. #defcfg ifs tm5:chem # --- Land area fraction ---
  607. A_TV03 C_TV03 206 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  608. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  609. P 0 P 0
  610. SCRIPR
  611. BILINEAR D SCALAR LATITUDE 90
  612. #enddef
  613. #defcfg ifs tm5:chem # --- Land area fraction ---
  614. A_TV04 C_TV04 206 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  615. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  616. P 0 P 0
  617. SCRIPR
  618. BILINEAR D SCALAR LATITUDE 90
  619. #enddef
  620. #defcfg ifs tm5:chem # --- Land area fraction ---
  621. A_TV05 C_TV05 206 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  622. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  623. P 0 P 0
  624. SCRIPR
  625. BILINEAR D SCALAR LATITUDE 90
  626. #enddef
  627. #defcfg ifs tm5:chem # --- Land area fraction ---
  628. A_TV06 C_TV06 206 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  629. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  630. P 0 P 0
  631. SCRIPR
  632. BILINEAR D SCALAR LATITUDE 90
  633. #enddef
  634. #defcfg ifs tm5:chem # --- Land area fraction ---
  635. A_TV07 C_TV07 206 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  636. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  637. P 0 P 0
  638. SCRIPR
  639. BILINEAR D SCALAR LATITUDE 90
  640. #enddef
  641. #defcfg ifs tm5:chem # --- Land area fraction ---
  642. A_TV09 C_TV09 206 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  643. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  644. P 0 P 0
  645. SCRIPR
  646. BILINEAR D SCALAR LATITUDE 90
  647. #enddef
  648. #defcfg ifs tm5:chem # --- Land area fraction ---
  649. A_TV10 C_TV10 206 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  650. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  651. P 0 P 0
  652. SCRIPR
  653. BILINEAR D SCALAR LATITUDE 90
  654. #enddef
  655. #defcfg ifs tm5:chem # --- Land area fraction ---
  656. A_TV11 C_TV11 206 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  657. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  658. P 0 P 0
  659. SCRIPR
  660. BILINEAR D SCALAR LATITUDE 90
  661. #enddef
  662. #defcfg ifs tm5:chem # --- Land area fraction ---
  663. A_TV13 C_TV13 206 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  664. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  665. P 0 P 0
  666. SCRIPR
  667. BILINEAR D SCALAR LATITUDE 90
  668. #enddef
  669. #defcfg ifs tm5:chem # --- Land area fraction ---
  670. A_TV16 C_TV16 206 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  671. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  672. P 0 P 0
  673. SCRIPR
  674. BILINEAR D SCALAR LATITUDE 90
  675. #enddef
  676. #defcfg ifs tm5:chem # --- Land area fraction ---
  677. A_TV17 C_TV17 206 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  678. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  679. P 0 P 0
  680. SCRIPR
  681. BILINEAR D SCALAR LATITUDE 90
  682. #enddef
  683. #defcfg ifs tm5:chem # --- Land area fraction ---
  684. A_TV18 C_TV18 206 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  685. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  686. P 0 P 0
  687. SCRIPR
  688. BILINEAR D SCALAR LATITUDE 90
  689. #enddef
  690. #defcfg ifs tm5:chem # --- Land area fraction ---
  691. A_TV19 C_TV19 206 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  692. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  693. P 0 P 0
  694. SCRIPR
  695. BILINEAR D SCALAR LATITUDE 90
  696. #enddef
  697. #defcfg ifs tm5:chem # --- Low vegetation area fraction ---
  698. A_CVL C_CVL 446 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  699. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  700. P 0 P 0
  701. SCRIPR
  702. BILINEAR D SCALAR LATITUDE 90
  703. #enddef
  704. #defcfg ifs tm5:chem # --- High vegetation area fraction ---
  705. A_CVH C_CVH 446 ${cpl_freq_atm_ctm_sec} 1 r_g2d.nc EXPORTED
  706. ${atm_grid_nm} ${ctm_grid_sfc} LAG=${lag_atm_ctm_mid}
  707. P 0 P 0
  708. SCRIPR
  709. BILINEAR D SCALAR LATITUDE 90
  710. #enddef
  711. #defcfg any tm5:o3 tm5:ch4 tm5:aero
  712. # =================================================================================================
  713. # Fields send from CTM to Atmosphere
  714. # =================================================================================================
  715. #enddef
  716. #defcfg ifs tm5:o3 # --- Ozone ---
  717. expfield_fbck C_O3 A_O3 244 o3ch4.nc ${lag_ctm_atm} "# --------------- Field 1: Ozone (O3) --------------"
  718. #enddef
  719. #defcfg ifs tm5:ch4 # --- Methane ---
  720. expfield_fbck C_CH4 A_CH4 244 o3ch4.nc ${lag_ctm_atm} "# --------------- Field 2: Methane (CH4) --------------"
  721. #enddef
  722. #defcfg ifs tm5:aero # --- Aerosols concentrations ---
  723. #
  724. # --------------- M7 tracers (25 entries) --------------
  725. #
  726. #expfield_fbck_cutoff C_N1 A_N1 244 C_N1_.nc ${lag_ctm_atm} "# --------------- N1 --------------"
  727. #expfield_fbck_cutoff C_SU1 A_SU1 244 C_SU1.nc ${lag_ctm_atm} "# --------------- SU1 --------------"
  728. expfield_fbck_cutoff C_N2 A_N2 244 C_N2_.nc ${lag_ctm_atm} "# --------------- N2 --------------"
  729. expfield_fbck_cutoff C_SU2 A_SU2 244 C_SU2.nc ${lag_ctm_atm} "# --------------- SU2 --------------"
  730. expfield_fbck_cutoff C_BC2 A_BC2 244 C_BC2.nc ${lag_ctm_atm} "# --------------- BC2 --------------"
  731. expfield_fbck_cutoff C_OC2 A_OM2 244 C_OC2.nc ${lag_ctm_atm} "# --------------- OC2 --------------"
  732. expfield_fbck_cutoff C_N3 A_N3 244 C_N3_.nc ${lag_ctm_atm} "# --------------- N3 --------------"
  733. expfield_fbck_cutoff C_SU3 A_SU3 244 C_SU3.nc ${lag_ctm_atm} "# --------------- SU3 --------------"
  734. expfield_fbck_cutoff C_BC3 A_BC3 244 C_BC3.nc ${lag_ctm_atm} "# --------------- BC3 --------------"
  735. expfield_fbck_cutoff C_OC3 A_OM3 244 C_OC3.nc ${lag_ctm_atm} "# --------------- OC3 --------------"
  736. expfield_fbck_cutoff C_SS3 A_SS3 244 C_SS3.nc ${lag_ctm_atm} "# --------------- SS3 --------------"
  737. expfield_fbck_cutoff C_DU3 A_DD3 244 C_DU3.nc ${lag_ctm_atm} "# --------------- DU3 --------------"
  738. expfield_fbck_cutoff C_N4 A_N4 244 C_N4_.nc ${lag_ctm_atm} "# --------------- N4 --------------"
  739. expfield_fbck_cutoff C_SU4 A_SU4 244 C_SU4.nc ${lag_ctm_atm} "# --------------- SU4 --------------"
  740. expfield_fbck_cutoff C_BC4 A_BC4 244 C_BC4.nc ${lag_ctm_atm} "# --------------- BC4 --------------"
  741. expfield_fbck_cutoff C_OC4 A_OM4 244 C_OC4.nc ${lag_ctm_atm} "# --------------- OC4 --------------"
  742. expfield_fbck_cutoff C_SS4 A_SS4 244 C_SS4.nc ${lag_ctm_atm} "# --------------- SS4 --------------"
  743. expfield_fbck_cutoff C_DU4 A_DD4 244 C_DU4.nc ${lag_ctm_atm} "# --------------- DU4 --------------"
  744. expfield_fbck_cutoff C_N5 A_N5 244 C_N5_.nc ${lag_ctm_atm} "# --------------- N5 --------------"
  745. expfield_fbck_cutoff C_BC5 A_BC5 244 C_BC5.nc ${lag_ctm_atm} "# --------------- BC5 --------------"
  746. expfield_fbck_cutoff C_OC5 A_OM5 244 C_OC5.nc ${lag_ctm_atm} "# --------------- OC5 --------------"
  747. expfield_fbck_cutoff C_N6 A_N6 244 C_N6_.nc ${lag_ctm_atm} "# --------------- N6 --------------"
  748. expfield_fbck_cutoff C_DU6 A_DD6 244 C_DU6.nc ${lag_ctm_atm} "# --------------- DU6 --------------"
  749. expfield_fbck_cutoff C_N7 A_N7 244 C_N7_.nc ${lag_ctm_atm} "# --------------- N7 --------------"
  750. expfield_fbck_cutoff C_DU7 A_DD7 244 C_DU7.nc ${lag_ctm_atm} "# --------------- DU7 --------------"
  751. expfield_fbck_cutoff C_NO3 A_NO3 244 C_NO3.nc ${lag_ctm_atm} "# --------------- NO3 --------------"
  752. expfield_fbck_cutoff C_MSA A_MSA 244 C_MSA.nc ${lag_ctm_atm} "# --------------- MSA --------------"
  753. #
  754. # --------------- AEROSOL OPTICAL PROPERTIES FOR THE 14 WAVELENGTHS --------------
  755. # --------------- OF THE MCRAD RADIATION SCHEME (14*3 ENTRIES) --------------
  756. #
  757. expfield_fbck_cutoff C_AOD_01 A_AOD_01 244 C_AOD_01 ${lag_ctm_atm} "# ------------- AOD #1 --------------"
  758. expfield_fbck_cutoff C_AOD_02 A_AOD_02 244 C_AOD_02 ${lag_ctm_atm} "# ------------- AOD #2 --------------"
  759. expfield_fbck_cutoff C_AOD_03 A_AOD_03 244 C_AOD_03 ${lag_ctm_atm} "# ------------- AOD #3 --------------"
  760. expfield_fbck_cutoff C_AOD_04 A_AOD_04 244 C_AOD_04 ${lag_ctm_atm} "# ------------- AOD #4 --------------"
  761. expfield_fbck_cutoff C_AOD_05 A_AOD_05 244 C_AOD_05 ${lag_ctm_atm} "# ------------- AOD #5 --------------"
  762. expfield_fbck_cutoff C_AOD_06 A_AOD_06 244 C_AOD_06 ${lag_ctm_atm} "# ------------- AOD #6 --------------"
  763. expfield_fbck_cutoff C_AOD_07 A_AOD_07 244 C_AOD_07 ${lag_ctm_atm} "# ------------- AOD #7 --------------"
  764. expfield_fbck_cutoff C_AOD_08 A_AOD_08 244 C_AOD_08 ${lag_ctm_atm} "# ------------- AOD #8 --------------"
  765. expfield_fbck_cutoff C_AOD_09 A_AOD_09 244 C_AOD_09 ${lag_ctm_atm} "# ------------- AOD #9 --------------"
  766. expfield_fbck_cutoff C_AOD_10 A_AOD_10 244 C_AOD_10 ${lag_ctm_atm} "# ------------- AOD #10 -------------"
  767. expfield_fbck_cutoff C_AOD_11 A_AOD_11 244 C_AOD_11 ${lag_ctm_atm} "# ------------- AOD #11 -------------"
  768. expfield_fbck_cutoff C_AOD_12 A_AOD_12 244 C_AOD_12 ${lag_ctm_atm} "# ------------- AOD #12 -------------"
  769. expfield_fbck_cutoff C_AOD_13 A_AOD_13 244 C_AOD_13 ${lag_ctm_atm} "# ------------- AOD #13 -------------"
  770. expfield_fbck_cutoff C_AOD_14 A_AOD_14 244 C_AOD_14 ${lag_ctm_atm} "# ------------- AOD #14 -------------"
  771. expfield_fbck_cutoff C_SSA_01 A_SSA_01 244 C_SSA_01 ${lag_ctm_atm} "# ----- Single-Scattering Albedo #1 ----"
  772. expfield_fbck_cutoff C_SSA_02 A_SSA_02 244 C_SSA_02 ${lag_ctm_atm} "# ----- Single-Scattering Albedo #2 ----"
  773. expfield_fbck_cutoff C_SSA_03 A_SSA_03 244 C_SSA_03 ${lag_ctm_atm} "# ----- Single-Scattering Albedo #3 ----"
  774. expfield_fbck_cutoff C_SSA_04 A_SSA_04 244 C_SSA_04 ${lag_ctm_atm} "# ----- Single-Scattering Albedo #4 ----"
  775. expfield_fbck_cutoff C_SSA_05 A_SSA_05 244 C_SSA_05 ${lag_ctm_atm} "# ----- Single-Scattering Albedo #5 ----"
  776. expfield_fbck_cutoff C_SSA_06 A_SSA_06 244 C_SSA_06 ${lag_ctm_atm} "# ----- Single-Scattering Albedo #6 ----"
  777. expfield_fbck_cutoff C_SSA_07 A_SSA_07 244 C_SSA_07 ${lag_ctm_atm} "# ----- Single-Scattering Albedo #7 ----"
  778. expfield_fbck_cutoff C_SSA_08 A_SSA_08 244 C_SSA_08 ${lag_ctm_atm} "# ----- Single-Scattering Albedo #8 ----"
  779. expfield_fbck_cutoff C_SSA_09 A_SSA_09 244 C_SSA_09 ${lag_ctm_atm} "# ----- Single-Scattering Albedo #9 ----"
  780. expfield_fbck_cutoff C_SSA_10 A_SSA_10 244 C_SSA_10 ${lag_ctm_atm} "# ----- Single-Scattering Albedo #10 ---"
  781. expfield_fbck_cutoff C_SSA_11 A_SSA_11 244 C_SSA_11 ${lag_ctm_atm} "# ----- Single-Scattering Albedo #11 ---"
  782. expfield_fbck_cutoff C_SSA_12 A_SSA_12 244 C_SSA_12 ${lag_ctm_atm} "# ----- Single-Scattering Albedo #12 ---"
  783. expfield_fbck_cutoff C_SSA_13 A_SSA_13 244 C_SSA_13 ${lag_ctm_atm} "# ----- Single-Scattering Albedo #13 ---"
  784. expfield_fbck_cutoff C_SSA_14 A_SSA_14 244 C_SSA_14 ${lag_ctm_atm} "# ----- Single-Scattering Albedo #14 ---"
  785. expfield_fbck_cutoff C_ASF_01 A_ASF_01 244 C_ASF_01 ${lag_ctm_atm} "# --------- Asymmetry Factor #1 --------"
  786. expfield_fbck_cutoff C_ASF_02 A_ASF_02 244 C_ASF_02 ${lag_ctm_atm} "# --------- Asymmetry Factor #2 --------"
  787. expfield_fbck_cutoff C_ASF_03 A_ASF_03 244 C_ASF_03 ${lag_ctm_atm} "# --------- Asymmetry Factor #3 --------"
  788. expfield_fbck_cutoff C_ASF_04 A_ASF_04 244 C_ASF_04 ${lag_ctm_atm} "# --------- Asymmetry Factor #4 --------"
  789. expfield_fbck_cutoff C_ASF_05 A_ASF_05 244 C_ASF_05 ${lag_ctm_atm} "# --------- Asymmetry Factor #5 --------"
  790. expfield_fbck_cutoff C_ASF_06 A_ASF_06 244 C_ASF_06 ${lag_ctm_atm} "# --------- Asymmetry Factor #6 --------"
  791. expfield_fbck_cutoff C_ASF_07 A_ASF_07 244 C_ASF_07 ${lag_ctm_atm} "# --------- Asymmetry Factor #7 --------"
  792. expfield_fbck_cutoff C_ASF_08 A_ASF_08 244 C_ASF_08 ${lag_ctm_atm} "# --------- Asymmetry Factor #8 --------"
  793. expfield_fbck_cutoff C_ASF_09 A_ASF_09 244 C_ASF_09 ${lag_ctm_atm} "# --------- Asymmetry Factor #9 --------"
  794. expfield_fbck_cutoff C_ASF_10 A_ASF_10 244 C_ASF_10 ${lag_ctm_atm} "# --------- Asymmetry Factor #10 -------"
  795. expfield_fbck_cutoff C_ASF_11 A_ASF_11 244 C_ASF_11 ${lag_ctm_atm} "# --------- Asymmetry Factor #11 -------"
  796. expfield_fbck_cutoff C_ASF_12 A_ASF_12 244 C_ASF_12 ${lag_ctm_atm} "# --------- Asymmetry Factor #12 -------"
  797. expfield_fbck_cutoff C_ASF_13 A_ASF_13 244 C_ASF_13 ${lag_ctm_atm} "# --------- Asymmetry Factor #13 -------"
  798. expfield_fbck_cutoff C_ASF_14 A_ASF_14 244 C_ASF_14 ${lag_ctm_atm} "# --------- Asymmetry Factor #14 -------"
  799. #enddef
  800. #defcfg atm lpjg
  801. # ====================================================================
  802. # Fields send from Atmosphere to LPJ-GUESS
  803. # ====================================================================
  804. #enddef
  805. #defcfg atm lpjg # --- '2m_temperature' 'K' --
  806. T2MVeg T2M_LPJG 1 ${cpl_freq_atm_lpjg_sec} 1 vegin.nc EXPORTED
  807. ${atm_grid} ${lpjg_grid} LAG=${lag_atm_lpjg}
  808. P 0 P 0
  809. LOCTRANS
  810. AVERAGE
  811. #enddef
  812. #defcfg atm lpjg # --- 'Total precip' 'm_timestep-1' ---
  813. TPVeg TPRE_LPJ 1 ${cpl_freq_atm_lpjg_sec} 1 vegin.nc EXPORTED
  814. ${atm_grid} ${lpjg_grid} LAG=${lag_atm_lpjg}
  815. P 0 P 0
  816. LOCTRANS
  817. AVERAGE
  818. #enddef
  819. #defcfg atm lpjg # --- 'Mass snow' 'kg_m-2' ---
  820. SDVeg SNOC_LPJ 1 ${cpl_freq_atm_lpjg_sec} 1 vegin.nc EXPORTED
  821. ${atm_grid} ${lpjg_grid} LAG=${lag_atm_lpjg}
  822. P 0 P 0
  823. LOCTRANS
  824. AVERAGE
  825. #enddef
  826. #defcfg atm lpjg # --- 'Density snow' 'kg_m-3' ---
  827. SDensVeg SNOD_LPJ 1 ${cpl_freq_atm_lpjg_sec} 1 vegin.nc EXPORTED
  828. ${atm_grid} ${lpjg_grid} LAG=${lag_atm_lpjg}
  829. P 0 P 0
  830. LOCTRANS
  831. AVERAGE
  832. #enddef
  833. #defcfg atm lpjg # --- 'Soil T lay1' 'K' ---
  834. SoilTVeg.L001 ST1L_LPJ 1 ${cpl_freq_atm_lpjg_sec} 1 vegin.nc EXPORTED
  835. ${atm_grid} ${lpjg_grid} LAG=${lag_atm_lpjg}
  836. P 0 P 0
  837. LOCTRANS
  838. AVERAGE
  839. #enddef
  840. #defcfg atm lpjg # --- 'Soil T lay2' 'K' ---
  841. SoilTVeg.L002 ST2L_LPJ 1 ${cpl_freq_atm_lpjg_sec} 1 vegin.nc EXPORTED
  842. ${atm_grid} ${lpjg_grid} LAG=${lag_atm_lpjg}
  843. P 0 P 0
  844. LOCTRANS
  845. AVERAGE
  846. #enddef
  847. #defcfg atm lpjg # --- 'Soil T lay3' 'K' ---
  848. SoilTVeg.L003 ST3L_LPJ 1 ${cpl_freq_atm_lpjg_sec} 1 vegin.nc EXPORTED
  849. ${atm_grid} ${lpjg_grid} LAG=${lag_atm_lpjg}
  850. P 0 P 0
  851. LOCTRANS
  852. AVERAGE
  853. #enddef
  854. #defcfg atm lpjg # --- 'Soil T lay4' 'K' ---
  855. SoilTVeg.L004 ST4L_LPJ 1 ${cpl_freq_atm_lpjg_sec} 1 vegin.nc EXPORTED
  856. ${atm_grid} ${lpjg_grid} LAG=${lag_atm_lpjg}
  857. P 0 P 0
  858. LOCTRANS
  859. AVERAGE
  860. #enddef
  861. #defcfg atm lpjg # --- 'Soil M lay1' 'm3_m-3' ---
  862. SoilMVeg.L001 SM1L_LPJ 1 ${cpl_freq_atm_lpjg_sec} 1 vegin.nc EXPORTED
  863. ${atm_grid} ${lpjg_grid} LAG=${lag_atm_lpjg}
  864. P 0 P 0
  865. LOCTRANS
  866. AVERAGE
  867. #enddef
  868. #defcfg atm lpjg # --- 'Soil M lay2' 'm3_m-3' ---
  869. SoilMVeg.L002 SM2L_LPJ 1 ${cpl_freq_atm_lpjg_sec} 1 vegin.nc EXPORTED
  870. ${atm_grid} ${lpjg_grid} LAG=${lag_atm_lpjg}
  871. P 0 P 0
  872. LOCTRANS
  873. AVERAGE
  874. #enddef
  875. #defcfg atm lpjg # --- 'Soil M lay3' 'm3_m-3' ---
  876. SoilMVeg.L003 SM3L_LPJ 1 ${cpl_freq_atm_lpjg_sec} 1 vegin.nc EXPORTED
  877. ${atm_grid} ${lpjg_grid} LAG=${lag_atm_lpjg}
  878. P 0 P 0
  879. LOCTRANS
  880. AVERAGE
  881. #enddef
  882. #defcfg atm lpjg # --- 'Soil M lay4' 'm3_m-3' ---
  883. SoilMVeg.L004 SM4L_LPJ 1 ${cpl_freq_atm_lpjg_sec} 1 vegin.nc EXPORTED
  884. ${atm_grid} ${lpjg_grid} LAG=${lag_atm_lpjg}
  885. P 0 P 0
  886. LOCTRANS
  887. AVERAGE
  888. #enddef
  889. #defcfg atm lpjg # --- 'surf sol SW rad' 'J_m-2' ---
  890. SSRVeg SWNR_LPJ 1 ${cpl_freq_atm_lpjg_sec} 1 vegin.nc EXPORTED
  891. ${atm_grid} ${lpjg_grid} LAG=${lag_atm_lpjg}
  892. P 0 P 0
  893. LOCTRANS
  894. AVERAGE
  895. #enddef
  896. #defcfg atm lpjg # --- 'surf LW rad' 'J_m-2' ---
  897. SLRVeg LWNR_LPJ 1 ${cpl_freq_atm_lpjg_sec} 1 vegin.nc EXPORTED
  898. ${atm_grid} ${lpjg_grid} LAG=${lag_atm_lpjg}
  899. P 0 P 0
  900. LOCTRANS
  901. AVERAGE
  902. #enddef
  903. #defcfg lpjg atm
  904. # ====================================================================
  905. # Fields send from LPJ-GUESS to Atmosphere
  906. # ====================================================================
  907. #enddef
  908. #defcfg atm lpjg # --- 'low_LAI' 'm2_m-2' ---
  909. GUE_LLAI LAILVeg 1 ${cpl_freq_atm_lpjg_sec} 1 lpjgv.nc EXPORTED
  910. ${lpjg_grid} ${atm_grid} LAG=${lag_lpjg_atm}
  911. P 0 P 0
  912. LOCTRANS
  913. INSTANT
  914. #enddef
  915. #defcfg atm lpjg # --- 'high_LAI' 'm2 m-2' ---
  916. GUE_HLAI LAIHVeg 1 ${cpl_freq_atm_lpjg_sec} 1 lpjgv.nc EXPORTED
  917. ${lpjg_grid} ${atm_grid} LAG=${lag_lpjg_atm}
  918. P 0 P 0
  919. LOCTRANS
  920. INSTANT
  921. #enddef
  922. #defcfg atm lpjg # --- 'High Veg Type' '1-20' ---
  923. GUE_TYPH TypeHVeg 1 ${cpl_freq_atm_lpjg_sec} 1 lpjgv.nc EXPORTED
  924. ${lpjg_grid} ${atm_grid} LAG=${lag_lpjg_atm}
  925. P 0 P 0
  926. LOCTRANS
  927. INSTANT
  928. #enddef
  929. #defcfg atm lpjg # --- 'LPJG High Veg Frac' '0-1' ---
  930. GUE_FRAH FracHVeg 1 ${cpl_freq_atm_lpjg_sec} 1 lpjgv.nc EXPORTED
  931. ${lpjg_grid} ${atm_grid} LAG=${lag_lpjg_atm}
  932. P 0 P 0
  933. LOCTRANS
  934. INSTANT
  935. #enddef
  936. #defcfg atm lpjg # --- 'Low Veg Type' '1-20' ---
  937. GUE_TYPL TypeLVeg 1 ${cpl_freq_atm_lpjg_sec} 1 lpjgv.nc EXPORTED
  938. ${lpjg_grid} ${atm_grid} LAG=${lag_lpjg_atm}
  939. P 0 P 0
  940. LOCTRANS
  941. INSTANT
  942. #enddef
  943. #defcfg atm lpjg # --- 'LPJG Low Veg Frac' '0-1' ---
  944. GUE_FRAL FracLVeg 1 ${cpl_freq_atm_lpjg_sec} 1 lpjgv.nc EXPORTED
  945. ${lpjg_grid} ${atm_grid} LAG=${lag_lpjg_atm}
  946. P 0 P 0
  947. LOCTRANS
  948. INSTANT
  949. #enddef
  950. #defcfg ifs amip
  951. # =================================================================================================
  952. # Fields send from AMIP to IFS
  953. # =================================================================================================
  954. #enddef
  955. #defcfg ifs amip # --- AMIP forcing data ---
  956. AMIP_sst:AMIP_sic A_SST:A_Ice_frac 1 ${cpl_freq_amip_sec} 1 rstas.nc EXPORTED
  957. AMIP ${atm_grid/A/L} LAG=0
  958. P 0 P 0
  959. SCRIPR
  960. GAUSWGT LR SCALAR LATITUDE 1 9 2.0
  961. #enddef
  962. #defcfg lpjg tm5:co2
  963. # ====================================================================
  964. # Fields send from TM5-MP to LPJ-GUESS
  965. # ====================================================================
  966. #enddef
  967. #defcfg lpjg tm5:co2 # --- atmospheric CO2 concentrations (ppmv) ---
  968. CO2_TM5 CO2_LPJG 1 ${cpl_freq_atm_lpjg_sec} 1 rstas.nc EXPORTED
  969. ${ctm_grid} ${atm_grid_nm} LAG=0
  970. P 0 P 0
  971. SCRIPR
  972. BILINEAR D SCALAR LATITUDE 90
  973. #enddef
  974. #defcfg lpjg tm5:co2
  975. # ====================================================================
  976. # Fields send from LPJ-GUESS to TM5-MP
  977. # ====================================================================
  978. #enddef
  979. #defcfg lpjg tm5 # --- C fluxes (kg carbon/m2) ---
  980. GUE_CFLX:GUE_CNPP TM5_CFLX:TM5_CNPP 1 ${cpl_freq_atm_lpjg_sec} 1 rstas.nc EXPORTED
  981. ${atm_grid_nm} ${ctm_grid} LAG=0
  982. P 0 P 0
  983. SCRIPR
  984. BILINEAR D SCALAR LATITUDE 90
  985. #enddef
  986. # -------------------------------------------------------------------------------------------------
  987. \$END
  988. # =================================================================================================
  989. END_OF_NAMCOUPLE
  990. set -u