39 USE modi_init_io_surf_n
41 USE modi_end_io_surf_n
43 USE modi_write_diag_nature_n
44 USE modi_write_diag_sea_n
45 USE modi_write_diag_inland_water_n
46 USE modi_write_diag_town_n
48 USE modi_write_diag_seb_surf_atm_n
50 USE modi_write_diag_ch_aggr_n
51 USE modi_write_diag_ch_snap_n
53 USE yomhook
,ONLY : lhook, dr_hook
54 USE parkind1
,ONLY : jprb
62 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
63 CHARACTER(LEN=3),
INTENT(IN) :: hwrite
69 CHARACTER(LEN=100) :: ycomment
71 REAL(KIND=JPRB) :: zhook_handle
74 IF (lhook) CALL dr_hook(
'WRITE_DIAG_SURF_ATM_N',0,zhook_handle)
77 IF (ysc%U%NDIM_SEA >0) CALL
write_diag_sea_n(ysc%DTCO, ysc%DGU, ysc%U, ysc%SM, &
82 IF (ysc%U%NDIM_NATURE >0) CALL
write_diag_nature_n(ysc%DTCO, ysc%DGU, ysc%U, ysc%IM, ysc%DST, &
84 IF (ysc%U%NDIM_TOWN >0) CALL
write_diag_town_n(ysc%DTCO, ysc%DGU, ysc%U, ysc%TM, ysc%GDM, ysc%GRM, &
92 IF (ysc%DGU%XDIAG_TSTEP==xundef .OR. &
93 abs(nint(ysc%U%TTIME%TIME/ysc%DGU%XDIAG_TSTEP)*ysc%DGU%XDIAG_TSTEP-ysc%U%TTIME%TIME)<1.e-3 )
THEN
95 IF (ysc%DGU%LFRAC)
THEN
97 hprogram,
'FULL ',
'SURF ',
'WRITE')
100 hprogram,
'FRAC_SEA ',ysc%U%XSEA, iresp,hcomment=ycomment)
102 hprogram,
'FRAC_NATURE',ysc%U%XNATURE,iresp,hcomment=ycomment)
104 hprogram,
'FRAC_WATER ',ysc%U%XWATER, iresp,hcomment=ycomment)
106 hprogram,
'FRAC_TOWN ',ysc%U%XTOWN, iresp,hcomment=ycomment)
110 IF (hwrite/=
'PGD'.AND.ysc%DGU%LDIAG_GRID) &
114 IF (ysc%CHU%LCH_EMIS .AND. ysc%SV%NBEQ>0 .AND. ysc%CHU%LCH_SURF_EMIS)
THEN
115 IF (ysc%CHU%CCH_EMIS==
'AGGR')
THEN
118 ELSE IF (ysc%CHU%CCH_EMIS==
'SNAP')
THEN
125 IF (lhook) CALL dr_hook(
'WRITE_DIAG_SURF_ATM_N',1,zhook_handle)
subroutine init_io_surf_n(DTCO, DGU, U, HPROGRAM, HMASK, HSCHEME, HACTION)
subroutine write_diag_ch_snap_n(DTCO, DGU, U, CHN, HPROGRAM)
subroutine write_diag_nature_n(DTCO, DGU, U, IM, DST, HPROGRAM, HWRITE)
subroutine write_diag_seb_surf_atm_n(DTCO, DGU, U, UG, HPROGRAM)
subroutine write_diag_surf_atm_n(YSC, HPROGRAM, HWRITE)
subroutine write_diag_sea_n(DTCO, DGU, U, SM, HPROGRAM, HWRITE)
subroutine end_io_surf_n(HPROGRAM)
subroutine write_diag_inland_water_n(DTCO, DGU, U, WM, FM, HPROGRAM, HWRITE)
subroutine write_diag_town_n(DTCO, DGU, U, TM, GDM, GRM, HPROGRAM, HWRITE)
subroutine write_diag_ch_aggr_n(DTCO, DGU, U, CHE, HPROGRAM)