7 KDAY, PTIME, KI, KSV, KSW, PTSUN, PZENITH, PZENITH2, &
8 PAZIM, PZREF, PUREF, PZS, PU, PV, PQA, PTA, PRHOA, PSV, &
9 PCO2, HSV, PRAIN, PSNOW, PLW, PDIR_SW, PSCA_SW, PSW_BANDS,&
10 PPS, PPA, PSFTQ, PSFTH, PSFTS, PSFCO2, PSFU, PSFV, PTRAD, &
11 PDIR_ALB, PSCA_ALB, PEMIS, PTSURF, PZ0, PZ0H, PQSURF, &
12 PPEW_A_COEF, PPEW_B_COEF, PPET_A_COEF, PPEQ_A_COEF, &
13 PPET_B_COEF, PPEQ_B_COEF, HTEST )
49 USE modd_co2v_par
, ONLY : xmco2
51 USE modd_data_cover_par
, ONLY : ntilesfc
56 USE modi_add_forecast_to_date_surf
60 USE modi_diag_inline_surf_atm_n
61 USE modi_ch_emission_flux_n
62 USE modi_ch_emission_snap_n
63 USE modi_ch_emission_to_atm_n
64 USE modi_sso_z0_friction_n
65 USE modi_sso_be04_friction_n
72 USE modi_coupling_inland_water_n
74 USE modi_coupling_nature_n
76 USE modi_coupling_sea_n
78 USE modi_coupling_town_n
92 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
93 CHARACTER(LEN=1),
INTENT(IN) :: HCOUPLING
96 REAL,
INTENT(IN) :: PTIMEC
97 INTEGER,
INTENT(IN) :: KYEAR
98 INTEGER,
INTENT(IN) :: KMONTH
99 INTEGER,
INTENT(IN) :: KDAY
100 REAL,
INTENT(IN) :: PTIME
101 INTEGER,
INTENT(IN) :: KI
102 INTEGER,
INTENT(IN) :: KSV
103 INTEGER,
INTENT(IN) :: KSW
104 REAL,
DIMENSION(KI),
INTENT(IN) :: PTSUN
105 REAL,
INTENT(IN) :: PTSTEP
106 REAL,
DIMENSION(KI),
INTENT(IN) :: PZREF
107 REAL,
DIMENSION(KI),
INTENT(IN) :: PUREF
109 REAL,
DIMENSION(KI),
INTENT(IN) :: PTA
110 REAL,
DIMENSION(KI),
INTENT(IN) :: PQA
111 REAL,
DIMENSION(KI),
INTENT(IN) :: PRHOA
112 REAL,
DIMENSION(KI,KSV),
INTENT(IN) :: PSV
115 CHARACTER(LEN=6),
DIMENSION(KSV),
INTENT(IN):: HSV
116 REAL,
DIMENSION(KI),
INTENT(IN) :: PU
117 REAL,
DIMENSION(KI),
INTENT(IN) :: PV
118 REAL,
DIMENSION(KI,KSW),
INTENT(IN) :: PDIR_SW
120 REAL,
DIMENSION(KI,KSW),
INTENT(IN) :: PSCA_SW
122 REAL,
DIMENSION(KSW),
INTENT(IN) :: PSW_BANDS
123 REAL,
DIMENSION(KI),
INTENT(IN) :: PZENITH
124 REAL,
DIMENSION(KI),
INTENT(IN) :: PZENITH2
125 REAL,
DIMENSION(KI),
INTENT(IN) :: PAZIM
126 REAL,
DIMENSION(KI),
INTENT(IN) :: PLW
128 REAL,
DIMENSION(KI),
INTENT(IN) :: PPS
129 REAL,
DIMENSION(KI),
INTENT(IN) :: PPA
130 REAL,
DIMENSION(KI),
INTENT(IN) :: PZS
131 REAL,
DIMENSION(KI),
INTENT(IN) :: PCO2
132 REAL,
DIMENSION(KI),
INTENT(IN) :: PSNOW
133 REAL,
DIMENSION(KI),
INTENT(IN) :: PRAIN
136 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFTH
137 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFTQ
138 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFU
139 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFV
140 REAL,
DIMENSION(KI),
INTENT(OUT) :: PSFCO2
141 REAL,
DIMENSION(KI,KSV),
INTENT(OUT):: PSFTS
143 REAL,
DIMENSION(KI),
INTENT(INOUT) :: PTRAD
144 REAL,
DIMENSION(KI,KSW),
INTENT(OUT):: PDIR_ALB
145 REAL,
DIMENSION(KI,KSW),
INTENT(OUT):: PSCA_ALB
146 REAL,
DIMENSION(KI),
INTENT(INOUT) :: PEMIS
148 REAL,
DIMENSION(KI),
INTENT(OUT) :: PTSURF
149 REAL,
DIMENSION(KI),
INTENT(INOUT) :: PZ0
150 REAL,
DIMENSION(KI),
INTENT(INOUT) :: PZ0H
151 REAL,
DIMENSION(KI),
INTENT(INOUT) :: PQSURF
153 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEW_A_COEF
154 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEW_B_COEF
155 REAL,
DIMENSION(KI),
INTENT(IN) :: PPET_A_COEF
156 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEQ_A_COEF
157 REAL,
DIMENSION(KI),
INTENT(IN) :: PPET_B_COEF
158 REAL,
DIMENSION(KI),
INTENT(IN) :: PPEQ_B_COEF
159 CHARACTER(LEN=2),
INTENT(IN) :: HTEST
165 LOGICAL :: GNATURE, GTOWN, GWATER, GSEA
168 REAL,
DIMENSION(KI) :: ZPEW_A_COEF
169 REAL,
DIMENSION(KI) :: ZPEW_B_COEF
170 REAL,
DIMENSION(KI) :: ZPET_A_COEF
171 REAL,
DIMENSION(KI) :: ZPEQ_A_COEF
172 REAL,
DIMENSION(KI) :: ZPET_B_COEF
173 REAL,
DIMENSION(KI) :: ZPEQ_B_COEF
177 REAL,
DIMENSION(KI,NTILESFC) :: ZSFTH_TILE
178 REAL,
DIMENSION(KI,NTILESFC) :: ZSFTQ_TILE
179 REAL,
DIMENSION(KI,KSV,NTILESFC) :: ZSFTS_TILE
180 REAL,
DIMENSION(KI,NTILESFC) :: ZSFCO2_TILE
181 REAL,
DIMENSION(KI,NTILESFC) :: ZSFU_TILE
182 REAL,
DIMENSION(KI,NTILESFC) :: ZSFV_TILE
183 REAL,
DIMENSION(KI,NTILESFC) :: ZTRAD_TILE
184 REAL,
DIMENSION(KI,NTILESFC) :: ZEMIS_TILE
185 REAL,
DIMENSION(KI,NTILESFC) :: ZFRAC_TILE
186 REAL,
DIMENSION(KI,NTILESFC) :: ZTSURF_TILE
187 REAL,
DIMENSION(KI,NTILESFC) :: ZZ0_TILE
188 REAL,
DIMENSION(KI,NTILESFC) :: ZZ0H_TILE
189 REAL,
DIMENSION(KI,NTILESFC) :: ZQSURF_TILE
191 REAL,
DIMENSION(KI,KSW,NTILESFC) :: ZDIR_ALB_TILE
192 REAL,
DIMENSION(KI,KSW,NTILESFC) :: ZSCA_ALB_TILE
198 REAL(KIND=JPRB) :: ZHOOK_HANDLE
201 IF (
lhook)
CALL dr_hook(
'COUPLING_SURF_ATM_N',0,zhook_handle)
204 IF (htest/=
'OK')
THEN 205 CALL abor1_sfx(
'COUPLING_SURF_ATMN: FATAL ERROR DURING ARGUMENT TRANSFER')
212 ysc%U%TTIME%TIME = ysc%U%TTIME%TIME + ptstep
214 ysc%U%TTIME%TDATE%DAY,ysc%U%TTIME%TIME)
221 gsea = ysc%U%NDIM_SEA >0
222 gwater = ysc%U%NDIM_WATER >0
223 gtown = ysc%U%NDIM_TOWN >0
224 gnature = ysc%U%NDIM_NATURE >0
233 iswb =
SIZE(psw_bands)
239 zdir_alb_tile(:,:,:) =
xundef 240 zsca_alb_tile(:,:,:) =
xundef 243 zsfts_tile(:,:,:) = 0.
244 zsfco2_tile(:,:) = 0.
254 zfrac_tile(:,:) = 0.0
258 IF (hcoupling==
'I')
THEN 259 zpew_a_coef = ppew_a_coef
260 zpew_b_coef = ppew_b_coef
261 zpet_a_coef = ppet_a_coef
262 zpeq_a_coef = ppeq_a_coef
263 zpet_b_coef = ppet_b_coef
264 zpeq_b_coef = ppeq_b_coef
267 zpew_b_coef = sqrt(pu**2+pv**2)
292 zfrac_tile(:,jtile) = ysc%U%XSEA(:)
294 CALL treat_surf(jtile,ysc%U%NSIZE_SEA,ysc%U%NR_SEA)
311 zfrac_tile(:,jtile) = ysc%U%XWATER(:)
313 CALL treat_surf(jtile,ysc%U%NSIZE_WATER,ysc%U%NR_WATER)
330 zfrac_tile(:,jtile) = ysc%U%XNATURE(:)
332 CALL treat_surf(jtile,ysc%U%NSIZE_NATURE,ysc%U%NR_NATURE)
349 zfrac_tile(:,jtile) = ysc%U%XTOWN(:)
351 CALL treat_surf(jtile,ysc%U%NSIZE_TOWN,ysc%U%NR_TOWN)
363 CALL average_flux(zfrac_tile, zsfth_tile, zsftq_tile, zsfts_tile, zsfco2_tile, &
364 zsfu_tile, zsfv_tile, psfth, psftq, psfts, psfco2, psfu, psfv )
370 IF ((ysc%SV%NBEQ > 0).AND.(ysc%CHU%LCH_SURF_EMIS))
THEN 371 IF (ysc%CHU%CCH_EMIS==
'AGGR')
THEN 372 IF (ysc%SV%NSV_AEREND < 0)
THEN 373 iindexend = ysc%SV%NSV_CHSEND
375 iindexend = ysc%SV%NSV_AEREND
378 DO ji=1,
SIZE(ysc%CHE%TSEMISS)
379 IF (
SIZE(ysc%CHE%TSEMISS(ji)%NETIMES).GT.inbts) inbts=
SIZE(ysc%CHE%TSEMISS(ji)%NETIMES)
382 hprogram,ptime,psfts(:,ysc%SV%NSV_CHSBEG:iindexend),prhoa,ptstep,inbts)
383 ELSE IF (ysc%CHU%CCH_EMIS==
'SNAP')
THEN 384 CALL ch_emission_snap_n(ysc%CHN, hprogram,ysc%U%NSIZE_FULL,ptime,ptsun,kyear,kmonth,kday,prhoa,ysc%UG%G%XLON)
389 WHERE(psfts(:,:)==
xundef) psfts(:,:)=0.
398 IF(trim(adjustl(ysc%SV%CSV(ji)))==
"CO2")
THEN 400 psfts(:,ji) = psfts(:,ji) + psfco2(:)*prhoa(:)*(
xavogadro/44.)*1e3
402 psfco2(:) = psfts(:,ji)/(prhoa(:)*(
xavogadro/44.)*1e3)
409 CALL average_rad(zfrac_tile, zdir_alb_tile, zsca_alb_tile, &
410 zemis_tile, ztrad_tile, pdir_alb, psca_alb,&
416 CALL average_phy(zfrac_tile, ztsurf_tile, zz0_tile, &
417 zz0h_tile, zqsurf_tile, &
418 puref, pzref, ptsurf, pz0, pz0h, pqsurf )
431 IF (ysc%USS%CROUGH==
"Z01D" .OR. ysc%USS%CROUGH==
"Z04D")
THEN 432 CALL sso_z0_friction_n(ysc%USS, ysc%U%XSEA,puref,prhoa,pu,pv,zpew_a_coef,zpew_b_coef,psfu,psfv)
433 ELSE IF (ysc%USS%CROUGH==
"BE04")
THEN 442 puref, pzref, pps, prhoa, ptrad, pemis, psfu, psfv, psfco2)
444 IF (
lhook)
CALL dr_hook(
'COUPLING_SURF_ATM_N',1,zhook_handle)
453 INTEGER,
INTENT(IN) :: KTILE
454 INTEGER,
INTENT(IN) :: KSIZE
455 INTEGER,
INTENT(IN),
DIMENSION(KI) :: KMASK
457 REAL,
DIMENSION(KSIZE) :: ZP_TSUN
458 REAL,
DIMENSION(KSIZE) :: ZP_ZREF
459 REAL,
DIMENSION(KSIZE) :: ZP_UREF
461 REAL,
DIMENSION(KSIZE) :: ZP_TA
462 REAL,
DIMENSION(KSIZE) :: ZP_QA
463 REAL,
DIMENSION(KSIZE) :: ZP_RHOA
464 REAL,
DIMENSION(KSIZE) :: ZP_U
465 REAL,
DIMENSION(KSIZE) :: ZP_V
466 REAL,
DIMENSION(KSIZE,ISWB) :: ZP_DIR_SW
468 REAL,
DIMENSION(KSIZE,ISWB) :: ZP_SCA_SW
470 REAL,
DIMENSION(KSIZE) :: ZP_ZENITH
471 REAL,
DIMENSION(KSIZE) :: ZP_ZENITH2
472 REAL,
DIMENSION(KSIZE) :: ZP_AZIM
473 REAL,
DIMENSION(KSIZE) :: ZP_LW
475 REAL,
DIMENSION(KSIZE) :: ZP_PS
476 REAL,
DIMENSION(KSIZE) :: ZP_PA
477 REAL,
DIMENSION(KSIZE) :: ZP_ZS
478 REAL,
DIMENSION(KSIZE) :: ZP_CO2
479 REAL,
DIMENSION(KSIZE,KSV) :: ZP_SV
480 REAL,
DIMENSION(KSIZE) :: ZP_SNOW
481 REAL,
DIMENSION(KSIZE) :: ZP_RAIN
483 REAL,
DIMENSION(KSIZE) :: ZP_SFTH
484 REAL,
DIMENSION(KSIZE) :: ZP_SFTQ
485 REAL,
DIMENSION(KSIZE) :: ZP_SFU
486 REAL,
DIMENSION(KSIZE) :: ZP_SFV
487 REAL,
DIMENSION(KSIZE) :: ZP_SFCO2
488 REAL,
DIMENSION(KSIZE,KSV) :: ZP_SFTS
490 REAL,
DIMENSION(KSIZE) :: ZP_TRAD
491 REAL,
DIMENSION(KSIZE,ISWB) :: ZP_DIR_ALB
492 REAL,
DIMENSION(KSIZE,ISWB) :: ZP_SCA_ALB
493 REAL,
DIMENSION(KSIZE) :: ZP_EMIS
495 REAL,
DIMENSION(KSIZE) :: ZP_TSURF
496 REAL,
DIMENSION(KSIZE) :: ZP_Z0
497 REAL,
DIMENSION(KSIZE) :: ZP_Z0H
498 REAL,
DIMENSION(KSIZE) :: ZP_QSURF
500 REAL,
DIMENSION(KSIZE) :: ZP_PEW_A_COEF
501 REAL,
DIMENSION(KSIZE) :: ZP_PEW_B_COEF
502 REAL,
DIMENSION(KSIZE) :: ZP_PET_A_COEF
503 REAL,
DIMENSION(KSIZE) :: ZP_PEQ_A_COEF
504 REAL,
DIMENSION(KSIZE) :: ZP_PET_B_COEF
505 REAL,
DIMENSION(KSIZE) :: ZP_PEQ_B_COEF
507 REAL(KIND=JPRB) :: ZHOOK_HANDLE
509 IF (
lhook)
CALL dr_hook(
'COUPLING_SURF_ATM_n:TREAT_SURF',0,zhook_handle)
517 zp_tsun(jj) = ptsun(ji)
518 zp_zenith(jj) = pzenith(ji)
519 zp_zenith2(jj) = pzenith2(ji)
520 zp_azim(jj) = pazim(ji)
521 zp_zref(jj) = pzref(ji)
522 zp_uref(jj) = puref(ji)
527 zp_rhoa(jj) = prhoa(ji)
528 zp_co2(jj) = pco2(ji)
529 zp_rain(jj) = prain(ji)
530 zp_snow(jj) = psnow(ji)
540 zp_co2(:) = zp_rhoa(:) *
xco2uncpl * 1.e-6 * xmco2 /
xmd 548 zp_sv(jj,jk) = psv(ji,jk)
557 zp_dir_sw(jj,jk) = pdir_sw(ji,jk)
558 zp_sca_sw(jj,jk) = psca_sw(ji,jk)
566 zp_pew_a_coef(jj) = zpew_a_coef(ji)
567 zp_pew_b_coef(jj) = zpew_b_coef(ji)
568 zp_pet_a_coef(jj) = zpet_a_coef(ji)
569 zp_pet_b_coef(jj) = zpet_b_coef(ji)
570 zp_peq_a_coef(jj) = zpeq_a_coef(ji)
571 zp_peq_b_coef(jj) = zpeq_b_coef(ji)
578 CALL coupling_sea_n(ysc%SM, ysc%DLO, ysc%DL, ysc%DLC, ysc%U, ysc%NDST%AL(1), ysc%SLT, &
579 hprogram, hcoupling, ptimec, ptstep, kyear, kmonth, kday, ptime, &
580 ysc%U%NSIZE_SEA, ksv, ksw, zp_tsun, zp_zenith, zp_zenith2,zp_azim, &
581 zp_zref, zp_uref, zp_zs, zp_u, zp_v, zp_qa, zp_ta, zp_rhoa, zp_sv, &
582 zp_co2, hsv, zp_rain, zp_snow, zp_lw, zp_dir_sw, zp_sca_sw, psw_bands, &
583 zp_ps, zp_pa, zp_sftq, zp_sfth, zp_sfts, zp_sfco2, zp_sfu, zp_sfv, &
584 zp_trad, zp_dir_alb, zp_sca_alb, zp_emis, zp_tsurf, zp_z0, zp_z0h, &
585 zp_qsurf, zp_pew_a_coef, zp_pew_b_coef, zp_pet_a_coef, zp_peq_a_coef, &
586 zp_pet_b_coef, zp_peq_b_coef,
'OK' )
588 ELSEIF (ktile==2)
THEN 591 ysc%NDST%AL(1), ysc%SLT, hprogram, hcoupling, ptimec, ptstep, &
592 kyear, kmonth, kday, ptime, ysc%U%NSIZE_WATER, ksv, ksw, &
593 zp_tsun, zp_zenith, zp_zenith2, zp_azim, zp_zref, zp_uref, &
594 zp_zs, zp_u, zp_v, zp_qa, zp_ta, zp_rhoa, zp_sv, zp_co2, hsv, &
595 zp_rain, zp_snow, zp_lw, zp_dir_sw, zp_sca_sw, psw_bands, &
596 zp_ps, zp_pa, zp_sftq, zp_sfth, zp_sfts, zp_sfco2, zp_sfu, &
597 zp_sfv, zp_trad, zp_dir_alb, zp_sca_alb, zp_emis, zp_tsurf, &
598 zp_z0, zp_z0h, zp_qsurf, zp_pew_a_coef, zp_pew_b_coef, &
599 zp_pet_a_coef, zp_peq_a_coef, zp_pet_b_coef, zp_peq_b_coef, &
602 ELSEIF (ktile==3)
THEN 604 CALL coupling_nature_n(ysc%DTCO, ysc%UG, ysc%U, ysc%USS, ysc%IM, ysc%DTZ, ysc%DLO, ysc%DL, &
605 ysc%DLC, ysc%NDST, ysc%SLT, hprogram, hcoupling, ptimec, ptstep, &
606 kyear, kmonth, kday, ptime, ysc%U%NSIZE_NATURE, ksv, ksw, zp_tsun, &
607 zp_zenith, zp_zenith2, zp_azim, zp_zref, zp_uref, zp_zs, zp_u, zp_v, &
608 zp_qa, zp_ta, zp_rhoa, zp_sv, zp_co2, hsv, zp_rain, zp_snow, zp_lw, &
609 zp_dir_sw, zp_sca_sw, psw_bands, zp_ps, zp_pa, zp_sftq, zp_sfth, &
610 zp_sfts, zp_sfco2, zp_sfu, zp_sfv, zp_trad, zp_dir_alb, zp_sca_alb, &
611 zp_emis, zp_tsurf, zp_z0, zp_z0h, zp_qsurf, zp_pew_a_coef, &
612 zp_pew_b_coef, zp_pet_a_coef, zp_peq_a_coef, zp_pet_b_coef, &
613 zp_peq_b_coef,
'OK' )
615 ELSEIF (ktile==4)
THEN 617 CALL coupling_town_n(ysc%DTCO, ysc%U, ysc%DLO, ysc%DL, ysc%DLC, ysc%NDST%AL(1), ysc%SLT, ysc%TM, &
618 ysc%GDM, ysc%GRM, hprogram, hcoupling, ptimec, ptstep, kyear, kmonth, &
619 kday, ptime, ysc%U%NSIZE_TOWN, ksv, ksw, zp_tsun, zp_zenith, zp_azim, &
620 zp_zref, zp_uref, zp_zs, zp_u, zp_v, zp_qa, zp_ta, zp_rhoa, zp_sv, &
621 zp_co2, hsv, zp_rain, zp_snow, zp_lw, zp_dir_sw, zp_sca_sw, psw_bands, &
622 zp_ps, zp_pa, zp_sftq, zp_sfth, zp_sfts, zp_sfco2, zp_sfu, zp_sfv, &
623 zp_trad, zp_dir_alb, zp_sca_alb, zp_emis, zp_tsurf, zp_z0, zp_z0h, &
624 zp_qsurf, zp_pew_a_coef, zp_pew_b_coef, zp_pet_a_coef, zp_peq_a_coef, &
625 zp_pet_b_coef, zp_peq_b_coef,
'OK' )
635 zsftq_tile(ji,ktile) = zp_sftq(jj)
636 zsfth_tile(ji,ktile) = zp_sfth(jj)
637 zsfco2_tile(ji,ktile) = zp_sfco2(jj)
638 zsfu_tile(ji,ktile) = zp_sfu(jj)
639 zsfv_tile(ji,ktile) = zp_sfv(jj)
640 ztrad_tile(ji,ktile) = zp_trad(jj)
641 zemis_tile(ji,ktile) = zp_emis(jj)
642 ztsurf_tile(ji,ktile) = zp_tsurf(jj)
643 zz0_tile(ji,ktile) = zp_z0(jj)
644 zz0h_tile(ji,ktile) = zp_z0h(jj)
645 zqsurf_tile(ji,ktile) = zp_qsurf(jj)
648 DO ji=1,
SIZE(zp_sfts,2)
652 zsfts_tile(kmask(jj),ji,ktile)= zp_sfts(jj,ji)
656 DO ji=1,
SIZE(zp_dir_alb,2)
660 zdir_alb_tile(kmask(jj),ji,ktile)= zp_dir_alb(jj,ji)
661 zsca_alb_tile(kmask(jj),ji,ktile)= zp_sca_alb(jj,ji)
667 IF (
lhook)
CALL dr_hook(
'COUPLING_SURF_ATM_n:TREAT_SURF',1,zhook_handle)
subroutine coupling_town_n(DTCO, U, DGO, DL, DLC, 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 coupling_sea_n(SM, DGO, DL, DLC, 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 cpl_gcm_n(U, KI, PRAIN, PSNOW, PZ0, PZ0H, PQSURF)
subroutine coupling_nature_n(DTCO, UG, U, USS, IM, DTZ, DGO, DL, DLC, NDST, 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_be04_friction_n(SB, USS, PTSTEP, PSEA, PUREF, PRHOA, PU, PV, PSFU, PSFV)
subroutine diag_inline_surf_atm_n(DGO, D, PHW, PHT, PPS, PRHOA, PTRAD, PEMIS, PSFU, PSFV, PSFCO2)
subroutine ch_emission_to_atm_n(CHN, SV, PSFSV, PRHOA)
subroutine abor1_sfx(YTEXT)
subroutine average_phy(PFRAC_TILE, PTSURF_TILE, PZ0_TILE, PZ0H_TILE, PQSURF_TILE, PUREF, PZREF, PTSURF, PZ0, PZ0H, PQSURF)
subroutine ch_emission_flux_n(DTCO, U, CHE, SV, CHU, HPROGRAM, PSI
character(len=6) cprogname
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_flux(PFRAC_TILE, PSFTH_TILE, PSFTQ_TILE, PSFTS_TILE, PSFCO2_TILE, PSFU_TILE, PSFV_TILE, PSFTH, PSFTQ, PSFTS, PSFCO2, PSFU, PSFV)
subroutine coupling_inland_water_n(FM, WM, DGO, DL, DLC, 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 treat_surf(KMASK, YTYPE)
subroutine add_forecast_to_date_surf(KYEAR, KMONTH, KDAY, PSEC)
subroutine ch_emission_snap_n(CHN, HPROGRAM, KSIZE, PSIMTIME, PSUNTIME, KYEAR, KMONTH, KDAY, PRHOA, PLON)
subroutine average_rad(PFRAC_TILE, PDIR_ALB_TILE, PSCA_ALB_TILE, PEMIS_TILE, PTRAD_TILE,
subroutine sso_z0_friction_n(USS, PSEA, PUREF, PRHOA, PU, PV, PPEW_A_COEF, PPEW_B_COEF, PSFU, PSFV)