namcouple.sh 42 KB

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