6 SUBROUTINE mod1d_n (DGO, O, OR, PLAT, S, &
7 HPROGRAM, PTIME, PEMIS, PDIR_ALB, PSCA_ALB, &
8 PLW, PSCA_SW, PDIR_SW, PSFTH, PSFTQ, PSFU, PSFV, PRAIN )
61 USE modi_diag_inline_ocean_n
76 TYPE(
ocean_t),
INTENT(INOUT) :: O
78 REAL,
DIMENSION(:),
INTENT(IN) :: PLAT
81 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
82 REAL ,
INTENT(IN) :: PTIME
83 REAL,
DIMENSION(:) ,
INTENT(IN) :: PEMIS
84 REAL,
DIMENSION(:,:),
INTENT(IN) :: PDIR_ALB
85 REAL,
DIMENSION(:,:),
INTENT(IN) :: PSCA_ALB
86 REAL,
DIMENSION(:) ,
INTENT(IN) :: PLW
87 REAL,
DIMENSION(:,:),
INTENT(IN) :: PSCA_SW
88 REAL,
DIMENSION(:,:),
INTENT(IN) :: PDIR_SW
89 REAL,
DIMENSION(:) ,
INTENT(IN) :: PSFTH
90 REAL,
DIMENSION(:) ,
INTENT(IN) :: PSFTQ
91 REAL,
DIMENSION(:) ,
INTENT(IN) :: PSFU
92 REAL,
DIMENSION(:) ,
INTENT(IN) :: PSFV
93 REAL,
DIMENSION(:) ,
INTENT(IN) :: PRAIN
98 INTEGER :: ITIME,NOCEAN_STEP
99 REAL,
DIMENSION(SIZE(PSFTH)) :: ZFSOL,ZFNSOL
100 REAL,
DIMENSION(SIZE(PSFTH)) :: ZSFTEAU
101 REAL,
DIMENSION(SIZE(PSFTH)) :: ZLV
103 REAL,
DIMENSION(SIZE(PSFTH)) :: ZLWU
104 REAL,
DIMENSION(SIZE(PDIR_ALB,1),SIZE(PDIR_ALB,2)) :: ZSWU
107 REAL,
DIMENSION(SIZE(PSFTH)) :: ZSEATEMP
109 LOGICAL :: GCALLMIXT, GTIMEOK
111 REAL(KIND=JPRB) :: ZHOOK_HANDLE
120 nocean_step=int(o%XOCEAN_TSTEP)
122 gtimeok=(mod(itime,nocean_step)==0)
123 gcallmixt=((mod(itime,nocean_step)==0).AND.(o%NOCTCOUNT>0))
134 zswu(jpt,:)= pdir_sw(jpt,:) * pdir_alb(jpt,:) + psca_sw(jpt,:)*psca_alb(jpt,:)
138 zlwu(jpt)= pemis(jpt)*
xstefan*s%XSST(jpt)**4 + (1-pemis(jpt))*plw(jpt)
140 IF (s%XSST(jpt)<=(
xtt-2))
THEN 141 zfnsol(jpt)=(plw(jpt)-zlwu(jpt)-psfth(jpt)-(
xlstt*psftq(jpt)))/(
xrhosw*
xcpsw)
145 zfnsol(jpt)=(plw(jpt)-zlwu(jpt)-psfth(jpt)-(zlv(jpt)*psftq(jpt)))/(
xrhosw*
xcpsw)
146 zsfteau(jpt)=(psftq(jpt)-prain(jpt))/
xrhoswref 154 IF (or%LFLUX_NULL)
THEN 155 WRITE(iluout,*)
'Caution : SURFACE FLUX ARE SET TO 0 ' 161 CALL mixtl_n(o, or, plat, zfsol,zfnsol,zsfteau,psfu,psfv,zseatemp)
167 s%XSST(:)=zseatemp(:)
175 o%NOCTCOUNT = o%NOCTCOUNT+1
subroutine mod1d_n(DGO, O, OR, PLAT, S, HPROGRAM, PTIME, PEMIS, PDIR_ALB, PSCA_ALB, PLW, PSCA_SW, PDIR_SW, PSFTH, PSFTQ, PSFU, PSFV, PRAIN)
subroutine diag_inline_ocean_n(DGO, O, PSEABATHY)
subroutine get_luout(HPROGRAM, KLUOUT)
intent(out) overrides sub arrays one Sort by the least significant key first sum(iindex(1:n))
subroutine mixtl_n(O, OR, PLAT, PFSOL, PFNSOL, PSFTEAU, PSFU, PSFV, PSEATEMP)