46 USE modd_glt_param
, ONLY : nl, nt
47 USE modd_types_glt
, ONLY : t_glt
55 USE modi_get_type_dim_n
62 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
66 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
73 INTEGER :: JMTH, INMTH
74 CHARACTER(LEN=2 ) :: YMTH
75 CHARACTER(LEN=5) :: YLVL
77 CHARACTER(LEN=6) :: YICECAT
78 CHARACTER(LEN=20) :: YFORM
79 CHARACTER(LEN=12) :: YRECFM
80 CHARACTER(LEN=12) :: YCATEG
81 CHARACTER(LEN=12) :: YLEVEL
82 CHARACTER(LEN=100):: YCOMMENT
86 REAL(KIND=JPRB) :: ZHOOK_HANDLE
89 IF (
lhook)
CALL dr_hook(
'WRITESURF_SEAICE_n',0,zhook_handle)
93 CALL write_surf(hselect, hprogram,
'SEAICE_SCHEM',s%CSEAICE_SCHEME,iresp
96 IF (s%CSEAICE_SCHEME ==
'GELATO')
THEN 97 ycomment=
'Number of sea-ice layers' 98 CALL write_surf(hselect,hprogram,
'ICENL',nl,iresp,ycomment)
99 ycomment=
'Number of ice categories' 100 CALL write_surf(hselect,hprogram,
'ICENT',nt,iresp,ycomment)
104 ycomment=
'ICEUSTAR ()' 105 CALL write_surf(hselect,hprogram,
'ICEUSTAR',s%TGLT%ust(:,1),iresp,ycomment
110 WRITE(yicecat,
'(I2)') jk
111 ycateg=
'_'//adjustl(yicecat)
113 ycomment=
'X_Y_ICEAGE'//ycateg//
' (s)' 114 CALL write_surf(hselect,hprogram,
'ICEAGE'//ycateg,s%TGLT%sit(jk,:,
116 ycomment=
'X_Y_ICEVMP'//ycateg//
' (m3)' 117 CALL write_surf(hselect,hprogram,
'ICEVMP'//ycateg,s%TGLT%sit(jk,:,
119 ycomment=
'X_Y_ICEASN'//ycateg//
' ([0-1])' 120 CALL write_surf(hselect,hprogram,
'ICEASN'//ycateg,s%TGLT%sit(jk,:,
122 ycomment=
'X_Y_ICEFSI'//ycateg//
' ([0-1])' 123 CALL write_surf(hselect,hprogram,
'ICEFSI'//ycateg, s%TGLT%sit(jk,:
125 ycomment=
'X_Y_ICEHSI'//ycateg//
' (m)' 126 CALL write_surf(hselect,hprogram,
'ICEHSI'//ycateg, s%TGLT%sit(jk,:
128 ycomment=
'X_Y_ICESSI'//ycateg//
' (psu)' 129 CALL write_surf(hselect,hprogram,
'ICESSI'//ycateg, s%TGLT%sit(jk,:
131 ycomment=
'X_Y_ICETSF'//ycateg//
' (K)' 132 CALL write_surf(hselect,hprogram,
'ICETSF'//ycateg, s%TGLT%sit(jk,:
134 ycomment=
'X_Y_ICEHSN'//ycateg//
' (m)' 135 CALL write_surf(hselect,hprogram,
'ICEHSN'//ycateg, s%TGLT%sit(jk,:
137 ycomment=
'X_Y_ICERSN'//ycateg//
' (kg m-3)' 138 CALL write_surf(hselect,hprogram,
'ICERSN'//ycateg, s%TGLT%sit(jk,:
143 WRITE(ylvl,
'(I2)') jl
144 ylevel = ycateg(1:len_trim(ycateg))//
'_'//adjustl(ylvl)
146 IF (jl >= 10) yform=
'(A6,I2.2,A4)' 147 WRITE(ycomment,fmt=yform)
'X_Y_ICEH',jl,
' (J/kg)' 150 hprogram,
'ICEH'//ylevel, s%TGLT%sil(jl,jk,:,1)%ent,iresp
163 IF(s%LINTERPOL_SIC)
THEN 165 inmth=
SIZE(s%XSIC_MTH,2)
168 WRITE(ymth,
'(I2)') (jmth-1)
169 yrecfm=
'SIC_MTH'//adjustl(ymth(:len_trim(ymth)))
170 ycomment=
'Sea ice coverage at month t'//adjustl(ymth(:len_trim(ymth
171 CALL write_surf(hselect,hprogram,yrecfm,s%XSIC_MTH(:,jmth),iresp,hcomment
177 ycomment=
'Sea ice coverage' 178 CALL write_surf(hselect,hprogram,yrecfm,s%XSIC(:),iresp,hcomment=ycomment
183 IF(s%LINTERPOL_SIT)
THEN 185 inmth=
SIZE(s%XSIT_MTH,2)
188 WRITE(ymth,
'(I2)') (jmth-1)
189 yrecfm=
'SIT_MTH'//adjustl(ymth(:len_trim(ymth)))
190 ycomment=
'Sea ice thickness constraint at month t'//adjustl(ymth(:len_trim
191 CALL write_surf(hselect,hprogram,yrecfm,s%XSIT_MTH(:,jmth),iresp,hcomment
196 IF (
lhook)
CALL dr_hook(
'WRITESURF_SEAICE_n',1,zhook_handle)
subroutine writesurf_seaice_n(HSELECT, S, HPROGRAM)