7 hprogram, hcoupling, ptimec, &
8 ptstep, kyear, kmonth, kday, ptime, ki, ksv, ksw, ptsun, pzenith, &
9 pzenith2,pazim,pzref, puref, pzs, pu, pv, pqa, pta, prhoa, psv, pco2, &
10 hsv, prain, psnow, plw, pdir_sw, psca_sw, psw_bands, pps, ppa, &
11 psftq, psfth, psfts, psfco2, psfu, psfv, &
12 ptrad, pdir_alb, psca_alb, pemis, ptsurf, pz0, pz0h, pqsurf, &
13 ppew_a_coef, ppew_b_coef, &
14 ppet_a_coef, ppeq_a_coef, ppet_b_coef, ppeq_b_coef, &
50 USE modd_csts, ONLY : xp00, xcpd, xrd, xavogadro, xmd
56 USE modd_surfex_mpi, ONLY : xtime_sea, xtime_water, xtime_nature, xtime_town
58 USE modi_add_forecast_to_date_surf
62 USE modi_diag_inline_surf_atm_n
63 USE modi_ch_emission_flux_n
64 USE modi_ch_emission_snap_n
65 USE modi_ch_emission_to_atm_n
66 USE modi_sso_z0_friction_n
67 USE modi_sso_be04_friction_n
69 USE yomhook
,ONLY : lhook, dr_hook
70 USE parkind1
,ONLY : jprb
74 USE modi_coupling_inland_water_n
76 USE modi_coupling_nature_n
78 USE modi_coupling_sea_n
80 USE modi_coupling_town_n
94 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
95 CHARACTER(LEN=1),
INTENT(IN) :: hcoupling
98 REAL,
INTENT(IN) :: ptimec
99 INTEGER,
INTENT(IN) :: kyear
100 INTEGER,
INTENT(IN) :: kmonth
101 INTEGER,
INTENT(IN) :: kday
102 REAL,
INTENT(IN) :: ptime
103 INTEGER,
INTENT(IN) :: ki
104 INTEGER,
INTENT(IN) :: ksv
105 INTEGER,
INTENT(IN) :: ksw
106 REAL,
DIMENSION(KI),
INTENT(IN) :: ptsun
107 REAL,
INTENT(IN) :: ptstep
108 REAL,
DIMENSION(KI),
INTENT(IN) :: pzref
109 REAL,
DIMENSION(KI),
INTENT(IN) :: puref
111 REAL,
DIMENSION(KI),
INTENT(IN) :: pta
112 REAL,
DIMENSION(KI),
INTENT(IN) :: pqa
113 REAL,
DIMENSION(KI),
INTENT(IN) :: prhoa
114 REAL,
DIMENSION(KI,KSV),
INTENT(IN) :: psv
117 CHARACTER(LEN=6),
DIMENSION(KSV),
INTENT(IN):: hsv
118 REAL,
DIMENSION(KI),
INTENT(IN) :: pu
119 REAL,
DIMENSION(KI),
INTENT(IN) :: pv
120 REAL,
DIMENSION(KI,KSW),
INTENT(IN) :: pdir_sw
122 REAL,
DIMENSION(KI,KSW),
INTENT(IN) :: psca_sw
124 REAL,
DIMENSION(KSW),
INTENT(IN) :: psw_bands
125 REAL,
DIMENSION(KI),
INTENT(IN) :: pzenith
126 REAL,
DIMENSION(KI),
INTENT(IN) :: pzenith2
127 REAL,
DIMENSION(KI),
INTENT(IN) :: pazim
128 REAL,
DIMENSION(KI),
INTENT(IN) :: plw
130 REAL,
DIMENSION(KI),
INTENT(IN) :: pps
131 REAL,
DIMENSION(KI),
INTENT(IN) :: ppa
132 REAL,
DIMENSION(KI),
INTENT(IN) :: pzs
133 REAL,
DIMENSION(KI),
INTENT(IN) :: pco2
134 REAL,
DIMENSION(KI),
INTENT(IN) :: psnow
135 REAL,
DIMENSION(KI),
INTENT(IN) :: prain
138 REAL,
DIMENSION(KI),
INTENT(OUT) :: psfth
139 REAL,
DIMENSION(KI),
INTENT(OUT) :: psftq
140 REAL,
DIMENSION(KI),
INTENT(OUT) :: psfu
141 REAL,
DIMENSION(KI),
INTENT(OUT) :: psfv
142 REAL,
DIMENSION(KI),
INTENT(OUT) :: psfco2
143 REAL,
DIMENSION(KI,KSV),
INTENT(OUT):: psfts
145 REAL,
DIMENSION(KI),
INTENT(INOUT) :: ptrad
146 REAL,
DIMENSION(KI,KSW),
INTENT(OUT):: pdir_alb
147 REAL,
DIMENSION(KI,KSW),
INTENT(OUT):: psca_alb
148 REAL,
DIMENSION(KI),
INTENT(INOUT) :: pemis
150 REAL,
DIMENSION(KI),
INTENT(OUT) :: ptsurf
151 REAL,
DIMENSION(KI),
INTENT(INOUT) :: pz0
152 REAL,
DIMENSION(KI),
INTENT(INOUT) :: pz0h
153 REAL,
DIMENSION(KI),
INTENT(INOUT) :: pqsurf
155 REAL,
DIMENSION(KI),
INTENT(IN) :: ppew_a_coef
156 REAL,
DIMENSION(KI),
INTENT(IN) :: ppew_b_coef
157 REAL,
DIMENSION(KI),
INTENT(IN) :: ppet_a_coef
158 REAL,
DIMENSION(KI),
INTENT(IN) :: ppeq_a_coef
159 REAL,
DIMENSION(KI),
INTENT(IN) :: ppet_b_coef
160 REAL,
DIMENSION(KI),
INTENT(IN) :: ppeq_b_coef
161 CHARACTER(LEN=2),
INTENT(IN) :: htest
167 LOGICAL :: gnature, gtown, gwater, gsea
170 REAL,
DIMENSION(KI) :: zpew_a_coef
171 REAL,
DIMENSION(KI) :: zpew_b_coef
172 REAL,
DIMENSION(KI) :: zpet_a_coef
173 REAL,
DIMENSION(KI) :: zpeq_a_coef
174 REAL,
DIMENSION(KI) :: zpet_b_coef
175 REAL,
DIMENSION(KI) :: zpeq_b_coef
179 REAL,
DIMENSION(KI,NTILESFC) :: zsfth_tile
180 REAL,
DIMENSION(KI,NTILESFC) :: zsftq_tile
181 REAL,
DIMENSION(KI,KSV,NTILESFC) :: zsfts_tile
182 REAL,
DIMENSION(KI,NTILESFC) :: zsfco2_tile
183 REAL,
DIMENSION(KI,NTILESFC) :: zsfu_tile
184 REAL,
DIMENSION(KI,NTILESFC) :: zsfv_tile
185 REAL,
DIMENSION(KI,NTILESFC) :: ztrad_tile
186 REAL,
DIMENSION(KI,NTILESFC) :: zemis_tile
187 REAL,
DIMENSION(KI,NTILESFC) :: zfrac_tile
188 REAL,
DIMENSION(KI,NTILESFC) :: ztsurf_tile
189 REAL,
DIMENSION(KI,NTILESFC) :: zz0_tile
190 REAL,
DIMENSION(KI,NTILESFC) :: zz0h_tile
191 REAL,
DIMENSION(KI,NTILESFC) :: zqsurf_tile
193 REAL,
DIMENSION(KI,KSW,NTILESFC) :: zdir_alb_tile
194 REAL,
DIMENSION(KI,KSW,NTILESFC) :: zsca_alb_tile
200 REAL(KIND=JPRB) :: zhook_handle
203 IF (lhook) CALL dr_hook(
'COUPLING_SURF_ATM_N',0,zhook_handle)
206 IF (htest/=
'OK')
THEN
207 CALL
abor1_sfx(
'COUPLING_SURF_ATMN: FATAL ERROR DURING ARGUMENT TRANSFER')
214 ysc%U%TTIME%TIME = ysc%U%TTIME%TIME + ptstep
216 ysc%U%TTIME%TDATE%DAY,ysc%U%TTIME%TIME)
223 gsea = ysc%U%NDIM_SEA >0
224 gwater = ysc%U%NDIM_WATER >0
225 gtown = ysc%U%NDIM_TOWN >0
226 gnature = ysc%U%NDIM_NATURE >0
235 iswb =
SIZE(psw_bands)
239 zsfth_tile(:,:) = xundef
240 ztrad_tile(:,:) = xundef
241 zdir_alb_tile(:,:,:) = xundef
242 zsca_alb_tile(:,:,:) = xundef
243 zemis_tile(:,:) = xundef
244 zsftq_tile(:,:) = xundef
245 zsfts_tile(:,:,:) = 0.
246 zsfco2_tile(:,:) = 0.
247 zsfu_tile(:,:) = xundef
248 zsfv_tile(:,:) = xundef
249 ztsurf_tile(:,:) = xundef
250 zz0_tile(:,:) = xundef
251 zz0h_tile(:,:) = xundef
252 zqsurf_tile(:,:) = xundef
256 zfrac_tile(:,:) = 0.0
260 IF (hcoupling==
'I')
THEN
261 zpew_a_coef = ppew_a_coef
262 zpew_b_coef = ppew_b_coef
263 zpet_a_coef = ppet_a_coef
264 zpeq_a_coef = ppeq_a_coef
265 zpet_b_coef = ppet_b_coef
266 zpeq_b_coef = ppeq_b_coef
269 zpew_b_coef = sqrt(pu**2+pv**2)
294 zfrac_tile(:,jtile) = ysc%U%XSEA(:)
296 CALL
treat_surf(jtile,ysc%U%NSIZE_SEA,ysc%U%NR_SEA)
301 xtime_sea = xtime_sea + (mpi_wtime() - xtime0)*100./max(1,ysc%U%NSIZE_SEA)
313 zfrac_tile(:,jtile) = ysc%U%XWATER(:)
315 CALL
treat_surf(jtile,ysc%U%NSIZE_WATER,ysc%U%NR_WATER)
320 xtime_water = xtime_water + (mpi_wtime() - xtime0)*100./max(1,ysc%U%NSIZE_WATER)
332 zfrac_tile(:,jtile) = ysc%U%XNATURE(:)
334 CALL
treat_surf(jtile,ysc%U%NSIZE_NATURE,ysc%U%NR_NATURE)
339 xtime_nature = xtime_nature + (mpi_wtime() - xtime0)*100./max(1,ysc%U%NSIZE_NATURE)
351 zfrac_tile(:,jtile) = ysc%U%XTOWN(:)
353 CALL
treat_surf(jtile,ysc%U%NSIZE_TOWN,ysc%U%NR_TOWN)
358 xtime_town = xtime_town + (mpi_wtime() - xtime0)*100./max(1,ysc%U%NSIZE_TOWN)
366 zsfth_tile, zsftq_tile, &
367 zsfts_tile, zsfco2_tile, &
368 zsfu_tile, zsfv_tile, &
369 psfth, psftq, psfts, psfco2, &
376 IF ((ysc%SV%NBEQ > 0).AND.(ysc%CHU%LCH_SURF_EMIS))
THEN
377 IF (ysc%CHU%CCH_EMIS==
'AGGR')
THEN
378 IF (ysc%SV%NSV_AEREND < 0)
THEN
379 iindexend = ysc%SV%NSV_CHSEND
381 iindexend = ysc%SV%NSV_AEREND
384 DO ji=1,
SIZE(ysc%CHE%TSEMISS)
385 IF (
SIZE(ysc%CHE%TSEMISS(ji)%NETIMES).GT.inbts) inbts=
SIZE(ysc%CHE%TSEMISS(ji)%NETIMES)
388 hprogram,ptime,psfts(:,ysc%SV%NSV_CHSBEG:iindexend),prhoa,ptstep,inbts)
389 ELSE IF (ysc%CHU%CCH_EMIS==
'SNAP')
THEN
391 hprogram,ysc%U%NSIZE_FULL,ptime,ptsun,kyear,kmonth,kday,prhoa,ysc%UG%XLON)
397 WHERE(psfts(:,:)==xundef) psfts(:,:)=0.
406 IF(trim(adjustl(ysc%SV%CSV(ji)))==
"CO2")
THEN
408 psfts(:,ji) = psfts(:,ji) + psfco2(:)*prhoa(:)*(xavogadro/44.)*1e3
410 psfco2(:) = psfts(:,ji)/(prhoa(:)*(xavogadro/44.)*1e3)
418 zdir_alb_tile, zsca_alb_tile, zemis_tile, ztrad_tile, &
419 pdir_alb, psca_alb, pemis, ptrad )
425 ztsurf_tile, zz0_tile, &
426 zz0h_tile, zqsurf_tile, &
428 ptsurf, pz0, pz0h, pqsurf )
433 ki,pz0=pz0,pz0h=pz0h,pqsurf=pqsurf)
442 IF (ysc%USS%CROUGH==
"Z01D" .OR. ysc%USS%CROUGH==
"Z04D")
THEN
444 ysc%U%XSEA,puref,prhoa,pu,pv,zpew_a_coef,zpew_b_coef,psfu,psfv)
445 ELSE IF (ysc%USS%CROUGH==
"BE04")
THEN
447 ptstep,ysc%U%XSEA,puref,prhoa,pu,pv,psfu,psfv)
455 puref, pzref, pps, prhoa, ptrad, pemis, psfu, psfv, psfco2)
457 IF (lhook) CALL dr_hook(
'COUPLING_SURF_ATM_N',1,zhook_handle)
466 INTEGER,
INTENT(IN) :: ktile
467 INTEGER,
INTENT(IN) :: ksize
468 INTEGER,
INTENT(IN),
DIMENSION(KI) :: kmask
470 REAL,
DIMENSION(KSIZE) :: zp_tsun
471 REAL,
DIMENSION(KSIZE) :: zp_zref
472 REAL,
DIMENSION(KSIZE) :: zp_uref
474 REAL,
DIMENSION(KSIZE) :: zp_ta
475 REAL,
DIMENSION(KSIZE) :: zp_qa
476 REAL,
DIMENSION(KSIZE) :: zp_rhoa
477 REAL,
DIMENSION(KSIZE) :: zp_u
478 REAL,
DIMENSION(KSIZE) :: zp_v
479 REAL,
DIMENSION(KSIZE,ISWB) :: zp_dir_sw
481 REAL,
DIMENSION(KSIZE,ISWB) :: zp_sca_sw
483 REAL,
DIMENSION(KSIZE) :: zp_zenith
484 REAL,
DIMENSION(KSIZE) :: zp_zenith2
485 REAL,
DIMENSION(KSIZE) :: zp_azim
486 REAL,
DIMENSION(KSIZE) :: zp_lw
488 REAL,
DIMENSION(KSIZE) :: zp_ps
489 REAL,
DIMENSION(KSIZE) :: zp_pa
490 REAL,
DIMENSION(KSIZE) :: zp_zs
491 REAL,
DIMENSION(KSIZE) :: zp_co2
492 REAL,
DIMENSION(KSIZE,KSV) :: zp_sv
493 REAL,
DIMENSION(KSIZE) :: zp_snow
494 REAL,
DIMENSION(KSIZE) :: zp_rain
496 REAL,
DIMENSION(KSIZE) :: zp_sfth
497 REAL,
DIMENSION(KSIZE) :: zp_sftq
498 REAL,
DIMENSION(KSIZE) :: zp_sfu
499 REAL,
DIMENSION(KSIZE) :: zp_sfv
500 REAL,
DIMENSION(KSIZE) :: zp_sfco2
501 REAL,
DIMENSION(KSIZE,KSV) :: zp_sfts
503 REAL,
DIMENSION(KSIZE) :: zp_trad
504 REAL,
DIMENSION(KSIZE,ISWB) :: zp_dir_alb
505 REAL,
DIMENSION(KSIZE,ISWB) :: zp_sca_alb
506 REAL,
DIMENSION(KSIZE) :: zp_emis
508 REAL,
DIMENSION(KSIZE) :: zp_tsurf
509 REAL,
DIMENSION(KSIZE) :: zp_z0
510 REAL,
DIMENSION(KSIZE) :: zp_z0h
511 REAL,
DIMENSION(KSIZE) :: zp_qsurf
513 REAL,
DIMENSION(KSIZE) :: zp_pew_a_coef
514 REAL,
DIMENSION(KSIZE) :: zp_pew_b_coef
515 REAL,
DIMENSION(KSIZE) :: zp_pet_a_coef
516 REAL,
DIMENSION(KSIZE) :: zp_peq_a_coef
517 REAL,
DIMENSION(KSIZE) :: zp_pet_b_coef
518 REAL,
DIMENSION(KSIZE) :: zp_peq_b_coef
520 REAL(KIND=JPRB) :: zhook_handle
522 IF (lhook) CALL dr_hook(
'COUPLING_SURF_ATM_n:TREAT_SURF',0,zhook_handle)
530 zp_tsun(jj) = ptsun(ji)
531 zp_zenith(jj) = pzenith(ji)
532 zp_zenith2(jj) = pzenith2(ji)
533 zp_azim(jj) = pazim(ji)
534 zp_zref(jj) = pzref(ji)
535 zp_uref(jj) = puref(ji)
540 zp_rhoa(jj) = prhoa(ji)
541 zp_co2(jj) = pco2(ji)
542 zp_rain(jj) = prain(ji)
543 zp_snow(jj) = psnow(ji)
552 IF(xco2uncpl/=xundef)
THEN
553 zp_co2(:) = zp_rhoa(:) * xco2uncpl * 1.e-6 * xmco2 / xmd
561 zp_sv(jj,jk) = psv(ji,jk)
570 zp_dir_sw(jj,jk) = pdir_sw(ji,jk)
571 zp_sca_sw(jj,jk) = psca_sw(ji,jk)
579 zp_pew_a_coef(jj) = zpew_a_coef(ji)
580 zp_pew_b_coef(jj) = zpew_b_coef(ji)
581 zp_pet_a_coef(jj) = zpet_a_coef(ji)
582 zp_pet_b_coef(jj) = zpet_b_coef(ji)
583 zp_peq_a_coef(jj) = zpeq_a_coef(ji)
584 zp_peq_b_coef(jj) = zpeq_b_coef(ji)
592 hprogram, hcoupling, ptimec, &
593 ptstep, kyear, kmonth, kday, ptime, &
594 ysc%U%NSIZE_SEA, ksv, ksw, &
595 zp_tsun, zp_zenith, zp_zenith2,zp_azim, &
596 zp_zref, zp_uref, zp_zs, zp_u, zp_v, zp_qa, zp_ta, zp_rhoa, zp_sv, zp_co2, hsv,&
597 zp_rain, zp_snow, zp_lw, zp_dir_sw, zp_sca_sw, psw_bands, zp_ps, zp_pa, &
598 zp_sftq, zp_sfth, zp_sfts, zp_sfco2, zp_sfu, zp_sfv, &
599 zp_trad, zp_dir_alb, zp_sca_alb, zp_emis, zp_tsurf, zp_z0, zp_z0h, zp_qsurf, &
600 zp_pew_a_coef, zp_pew_b_coef, &
601 zp_pet_a_coef, zp_peq_a_coef, zp_pet_b_coef, zp_peq_b_coef, &
604 ELSEIF (ktile==2)
THEN
607 hprogram, hcoupling, ptimec, &
608 ptstep, kyear, kmonth, kday, ptime, &
609 ysc%U%NSIZE_WATER, ksv, ksw, &
610 zp_tsun, zp_zenith, zp_zenith2,zp_azim, &
611 zp_zref, zp_uref, zp_zs, zp_u, zp_v, zp_qa, zp_ta, zp_rhoa, zp_sv, zp_co2, hsv,&
612 zp_rain, zp_snow, zp_lw, zp_dir_sw, zp_sca_sw, psw_bands, zp_ps, zp_pa, &
613 zp_sftq, zp_sfth, zp_sfts, zp_sfco2, zp_sfu, zp_sfv, &
614 zp_trad, zp_dir_alb, zp_sca_alb, zp_emis, zp_tsurf, zp_z0, zp_z0h, zp_qsurf, &
615 zp_pew_a_coef, zp_pew_b_coef, &
616 zp_pet_a_coef, zp_peq_a_coef, zp_pet_b_coef, zp_peq_b_coef, &
619 ELSEIF (ktile==3)
THEN
622 ysc%GDM%DTGD, ysc%GRM%DTGR, ysc%GRM%TGRO, ysc%DGL, ysc%DST, ysc%SLT, &
623 hprogram, hcoupling, ptimec, &
624 ptstep, kyear, kmonth, kday, ptime, &
625 ysc%U%NSIZE_NATURE, ksv, ksw, &
626 zp_tsun, zp_zenith, zp_zenith2,zp_azim, &
627 zp_zref, zp_uref, zp_zs, zp_u, zp_v, zp_qa, zp_ta, zp_rhoa, zp_sv, zp_co2, hsv,&
628 zp_rain, zp_snow, zp_lw, zp_dir_sw, zp_sca_sw, psw_bands, zp_ps, zp_pa, &
629 zp_sftq, zp_sfth, zp_sfts, zp_sfco2, zp_sfu, zp_sfv, &
630 zp_trad, zp_dir_alb, zp_sca_alb, zp_emis, zp_tsurf, zp_z0, zp_z0h, zp_qsurf, &
631 zp_pew_a_coef, zp_pew_b_coef, &
632 zp_pet_a_coef, zp_peq_a_coef, zp_pet_b_coef, zp_peq_b_coef, &
635 ELSEIF (ktile==4)
THEN
637 CALL
coupling_town_n(ysc%DTCO, ysc%U, ysc%IM%DTI, ysc%IM%IG, ysc%IM%I, ysc%DGL, &
638 ysc%DST, ysc%SLT, ysc%TM, ysc%GDM, ysc%GRM, &
639 hprogram, hcoupling, ptimec, &
640 ptstep, kyear, kmonth, kday, ptime, &
641 ysc%U%NSIZE_TOWN, ksv, ksw, &
642 zp_tsun, zp_zenith, zp_azim, &
643 zp_zref, zp_uref, zp_zs, zp_u, zp_v, zp_qa, zp_ta, zp_rhoa, zp_sv, zp_co2, hsv,&
644 zp_rain, zp_snow, zp_lw, zp_dir_sw, zp_sca_sw, psw_bands, zp_ps, zp_pa, &
645 zp_sftq, zp_sfth, zp_sfts, zp_sfco2, zp_sfu, zp_sfv, &
646 zp_trad, zp_dir_alb, zp_sca_alb, zp_emis, zp_tsurf, zp_z0, zp_z0h, zp_qsurf, &
647 zp_pew_a_coef, zp_pew_b_coef, &
648 zp_pet_a_coef, zp_peq_a_coef, zp_pet_b_coef, zp_peq_b_coef, &
659 zsftq_tile(ji,ktile) = zp_sftq(jj)
660 zsfth_tile(ji,ktile) = zp_sfth(jj)
661 zsfco2_tile(ji,ktile) = zp_sfco2(jj)
662 zsfu_tile(ji,ktile) = zp_sfu(jj)
663 zsfv_tile(ji,ktile) = zp_sfv(jj)
664 ztrad_tile(ji,ktile) = zp_trad(jj)
665 zemis_tile(ji,ktile) = zp_emis(jj)
666 ztsurf_tile(ji,ktile) = zp_tsurf(jj)
667 zz0_tile(ji,ktile) = zp_z0(jj)
668 zz0h_tile(ji,ktile) = zp_z0h(jj)
669 zqsurf_tile(ji,ktile) = zp_qsurf(jj)
672 DO ji=1,
SIZE(zp_sfts,2)
676 zsfts_tile(kmask(jj),ji,ktile)= zp_sfts(jj,ji)
680 DO ji=1,
SIZE(zp_dir_alb,2)
684 zdir_alb_tile(kmask(jj),ji,ktile)= zp_dir_alb(jj,ji)
685 zsca_alb_tile(kmask(jj),ji,ktile)= zp_sca_alb(jj,ji)
691 IF (lhook) CALL dr_hook(
'COUPLING_SURF_ATM_n:TREAT_SURF',1,zhook_handle)
subroutine cpl_gcm_n(U, KI, PRAIN, PSNOW, PZ0, PZ0H, PQSURF)
subroutine ch_emission_to_atm_n(CHN, SV, PSFSV, PRHOA)
subroutine coupling_nature_n(DTCO, UG, U, USS, IM, DTZ, DTGD, DTGR, TGRO, DGL, DST, SLT, HPROGRAM, HCOUPLING, PTIMEC, PTSTEP, KYEAR, KMONTH, KDAY, PTIME, KI, KSV, KSW, PTSUN, PZENITH, PZENITH2, PAZIM, PZREF, PUREF, PZS, PU, PV, PQA, PTA, PRHOA, PSV, PCO2, HSV, PRAIN, PSNOW, PLW, PDIR_SW, PSCA_SW, PSW_BANDS, PPS, PPA, PSFTQ, PSFTH, PSFTS, PSFCO2, PSFU, PSFV, PTRAD, PDIR_ALB, PSCA_ALB, PEMIS, PTSURF, PZ0, PZ0H, PQSURF, PPEW_A_COEF, PPEW_B_COEF, PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, PPEQ_B_COEF, HTEST)
subroutine abor1_sfx(YTEXT)
subroutine sso_be04_friction_n(SSCP, USS, PTSTEP, PSEA, PUREF, PRHOA, PU, PV, PSFU, PSFV)
subroutine average_phy(PFRAC_TILE, PTSURF_TILE, PZ0_TILE, PZ0H_TILE, PQSURF_TILE, PUREF, PZREF, PTSURF, PZ0, PZ0H, PQSURF)
subroutine coupling_surf_atm_n(YSC, HPROGRAM, HCOUPLING, PTIMEC, PTSTEP, KYEAR, KMONTH, KDAY, PTIME, KI, KSV, KSW, PTSUN, PZENITH, PZENITH2, PAZIM, PZREF, PUREF, PZS, PU, PV, PQA, PTA, PRHOA, PSV, PCO2, HSV, PRAIN, PSNOW, PLW, PDIR_SW, PSCA_SW, PSW_BANDS, PPS, PPA, PSFTQ, PSFTH, PSFTS, PSFCO2, PSFU, PSFV, PTRAD, PDIR_ALB, PSCA_ALB, PEMIS, PTSURF, PZ0, PZ0H, PQSURF, PPEW_A_COEF, PPEW_B_COEF, PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, PPEQ_B_COEF, HTEST)
subroutine average_rad(PFRAC_TILE, PDIR_ALB_TILE, PSCA_ALB_TILE, PEMIS_TILE, PTRAD_TILE, PDIR_ALB, PSCA_ALB, PEMIS, PTRAD)
subroutine coupling_sea_n(SM, DGL, U, DST, SLT, HPROGRAM, HCOUPLING, PTIMEC, PTSTEP, KYEAR, KMONTH, KDAY, PTIME, KI, KSV, KSW, PTSUN, PZENITH, PZENITH2, PAZIM, PZREF, PUREF, PZS, PU, PV, PQA, PTA, PRHOA, PSV, PCO2, HSV, PRAIN, PSNOW, PLW, PDIR_SW, PSCA_SW, PSW_BANDS, PPS, PPA, PSFTQ, PSFTH, PSFTS, PSFCO2, PSFU, PSFV, PTRAD, PDIR_ALB, PSCA_ALB, PEMIS, PTSURF, PZ0, PZ0H, PQSURF, PPEW_A_COEF, PPEW_B_COEF, PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, PPEQ_B_COEF, HTEST)
subroutine average_flux(PFRAC_TILE, PSFTH_TILE, PSFTQ_TILE, PSFTS_TILE, PSFCO2_TILE, PSFU_TILE, PSFV_TILE, PSFTH, PSFTQ, PSFTS, PSFCO2, PSFU, PSFV)
subroutine treat_surf(KMASK, YTYPE)
subroutine add_forecast_to_date_surf(KYEAR, KMONTH, KDAY, PSEC)
subroutine coupling_town_n(DTCO, U, DTI, IG, I, DGL, DST, SLT, TM, GDM, GRM, HPROGRAM, HCOUPLING, PTIMEC, PTSTEP, KYEAR, KMONTH, KDAY, PTIME, KI, KSV, KSW, PTSUN, PZENITH, PAZIM, PZREF, PUREF, PZS, PU, PV, PQA, PTA, PRHOA, PSV, PCO2, HSV, PRAIN, PSNOW, PLW, PDIR_SW, PSCA_SW, PSW_BANDS, PPS, PPA, PSFTQ, PSFTH, PSFTS, PSFCO2, PSFU, PSFV, PTRAD, PDIR_ALB, PSCA_ALB, PEMIS, PTSURF, PZ0, PZ0H, PQSURF, PPEW_A_COEF, PPEW_B_COEF, PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, PPEQ_B_COEF, HTEST)
subroutine ch_emission_flux_n(YSC, HPROGRAM, PSIMTIME, PSFSV, PRHOA, PTSTEP, KNBTS_MAX)
subroutine ch_emission_snap_n(CHN, HPROGRAM, KSIZE, PSIMTIME, PSUNTIME, KYEAR, KMONTH, KDAY, PRHOA, PLON)
subroutine coupling_inland_water_n(FM, WM, DGL, U, DST, SLT, HPROGRAM, HCOUPLING, PTIMEC, PTSTEP, KYEAR, KMONTH, KDAY, PTIME, KI, KSV, KSW, PTSUN, PZENITH, PZENITH2, PAZIM, PZREF, PUREF, PZS, PU, PV, PQA, PTA, PRHOA, PSV, PCO2, HSV, PRAIN, PSNOW, PLW, PDIR_SW, PSCA_SW, PSW_BANDS, PPS, PPA, PSFTQ, PSFTH, PSFTS, PSFCO2, PSFU, PSFV, PTRAD, PDIR_ALB, PSCA_ALB, PEMIS, PTSURF, PZ0, PZ0H, PQSURF, PPEW_A_COEF, PPEW_B_COEF, PPET_A_COEF, PPEQ_A_COEF, PPET_B_COEF, PPEQ_B_COEF, HTEST)
subroutine sso_z0_friction_n(USS, PSEA, PUREF, PRHOA, PU, PV, PPEW_A_COEF, PPEW_B_COEF, PSFU, PSFV)
subroutine diag_inline_surf_atm_n(DGU, PHW, PHT, PPS, PRHOA, PTRAD, PEMIS, PSFU, PSFV, PSFCO2)