58 USE modi_writesurf_ocean_n
59 USE modi_writesurf_seaice_n
61 USE yomhook
,ONLY : lhook, dr_hook
62 USE parkind1
,ONLY : jprb
74 TYPE(ocean_t),
INTENT(INOUT) :: o
78 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
84 INTEGER :: jmth, inmth
85 CHARACTER(LEN=2 ) :: ymth
88 CHARACTER(LEN=12) :: yrecfm
89 CHARACTER(LEN=100):: ycomment
90 REAL(KIND=JPRB) :: zhook_handle
95 IF (lhook) CALL dr_hook(
'WRITESURF_SEAFLUX_N',0,zhook_handle)
106 ycomment=
'flag to handle sea ice cover'
108 hprogram,
'HANDLE_SIC',s%LHANDLE_SIC,iresp,ycomment)
120 IF(s%LINTERPOL_SST)
THEN
122 inmth=
SIZE(s%XSST_MTH,2)
125 WRITE(ymth,
'(I2)') (jmth-1)
126 yrecfm=
'SST_MTH'//adjustl(ymth(:len_trim(ymth)))
127 ycomment=
'SST at month t'//adjustl(ymth(:len_trim(ymth)))
129 hprogram,yrecfm,s%XSST_MTH(:,jmth),iresp,hcomment=ycomment)
137 hprogram,yrecfm,s%XSST(:),iresp,hcomment=ycomment)
149 hprogram,yrecfm,s%XZ0(:),iresp,hcomment=ycomment)
154 IF(s%LINTERPOL_SSS)
THEN
156 inmth=
SIZE(s%XSSS_MTH,2)
159 WRITE(ymth,
'(I2)') (jmth-1)
160 yrecfm=
'SSS_MTH'//adjustl(ymth(:len_trim(ymth)))
161 ycomment=
'Sea Surface Salinity at month t'//adjustl(ymth(:len_trim(ymth)))
163 hprogram,yrecfm,s%XSSS_MTH(:,jmth),iresp,hcomment=ycomment)
169 ycomment=
'Sea Surface Salinity'
171 hprogram,yrecfm,s%XSSS(:),iresp,hcomment=ycomment)
176 IF(s%CSEA_ALB==
'RS14')
THEN
179 ycomment=
'direct ocean surface albedo (-)'
181 hprogram,yrecfm,s%XDIR_ALB(:),iresp,hcomment=ycomment)
184 ycomment=
'diffuse ocean surface albedo (-)'
186 hprogram,yrecfm,s%XSCA_ALB(:),iresp,hcomment=ycomment)
198 hprogram,yrecfm,s%TTIME,iresp,hcomment=ycomment)
199 IF (lhook) CALL dr_hook(
'WRITESURF_SEAFLUX_N',1,zhook_handle)
subroutine writesurf_seaflux_n(DGU, U, O, OR, S, HPROGRAM)
subroutine writesurf_ocean_n(DGU, U, O, OR, HPROGRAM)
subroutine writesurf_seaice_n(DGU, U, S, HPROGRAM)