54 TYPE(
ocean_t),
INTENT(INOUT) :: O
55 REAL,
DIMENSION(:),
INTENT(IN) :: PSEABATHY
57 REAL,
DIMENSION(SIZE(O%XSEAT(:,1)),NOCKMIN:NOCKMAX) :: ZSEADENS
58 REAL,
DIMENSION(SIZE(O%XSEAT(:,1))) :: ZRHO0,ZRHOCMO,ZDRHOX,ZTCMO
59 REAL,
DIMENSION(SIZE(O%XSEAT(:,1))) :: ZTMOY,ZSMOY,ZUMOY,ZVMOY,ZDMOY
60 INTEGER,
DIMENSION(SIZE(O%XSEAT(:,1))) :: IHMOLEVEL
61 INTEGER :: INBPTS, IK1, IK2
63 REAL(KIND=JPRB) :: ZHOOK_HANDLE
67 IF (
lhook)
CALL dr_hook(
'DIAG_INLINE_OCEAN_N',0,zhook_handle)
68 IF (dgo%LDIAG_OCEAN)
THEN 73 inbpts=
SIZE(o%XSEAT(:,1))
76 (o%XSEAT(:,:)-13.5)*(-0.19494-0.49038e-2*(o%XSEAT(:,:)-13.5))&
77 +0.77475*(o%XSEAS(:,:)-32.6)
85 ztcmo(jpt)=o%XSEAT(jpt,ik1)-0.5
89 zdrhox(jpt)=zrho0(jpt)-zrhocmo(jpt)
90 IF ((zdrhox(jpt)<0.).AND.(o%XSEABATH(jpt,j)/=0.))
THEN 91 o%XSEAHMO(jpt)=o%XSEAHMO(jpt)+
xdz1(j)
96 o%XSEAHMO(jpt)=min(o%XSEAHMO(jpt),-pseabathy(jpt))
101 IF (-
xzhoc(j)>o%XSEAHMO(jpt))
THEN 109 IF (ihmolevel(jpt)<=1)
THEN 110 dgo%XTOCMOY(jpt)=o%XSEAT(jpt,ik1)
111 dgo%XSOCMOY(jpt)=o%XSEAS(jpt,ik1)
112 dgo%XUOCMOY(jpt)=o%XSEAU(jpt,ik1)
113 dgo%XVOCMOY(jpt)=o%XSEAV(jpt,ik1)
114 dgo%XDOCMOY(jpt)=zseadens(jpt,ik1)
116 ztmoy(jpt)=o%XSEAT(jpt,ik1)
117 zsmoy(jpt)=o%XSEAS(jpt,ik1)
118 zumoy(jpt)=o%XSEAU(jpt,ik1)
119 zvmoy(jpt)=o%XSEAV(jpt,ik1)
120 zdmoy(jpt)=zseadens(jpt,ik1)
121 DO j=ik2,ihmolevel(jpt)
122 ztmoy(jpt)=ztmoy(jpt)+o%XSEAT(jpt,j)*(-
xzhoc(j)+
xzhoc(j-1))
123 zsmoy(jpt)=zsmoy(jpt)+o%XSEAS(jpt,j)*(-
xzhoc(j)+
xzhoc(j-1))
124 zumoy(jpt)=zumoy(jpt)+o%XSEAU(jpt,j)*(-
xzhoc(j)+
xzhoc(j-1))
125 zvmoy(jpt)=zvmoy(jpt)+o%XSEAV(jpt,j)*(-
xzhoc(j)+
xzhoc(j-1))
126 zdmoy(jpt)=zdmoy(jpt)+zseadens(jpt,j)*(-
xzhoc(j)+
xzhoc(j-1))
128 dgo%XTOCMOY(jpt)=ztmoy(jpt)/(-
xzhoc(ihmolevel(jpt)))
129 dgo%XSOCMOY(jpt)=zsmoy(jpt)/(-
xzhoc(ihmolevel(jpt)))
130 dgo%XUOCMOY(jpt)=zumoy(jpt)/(-
xzhoc(ihmolevel(jpt)))
131 dgo%XVOCMOY(jpt)=zvmoy(jpt)/(-
xzhoc(ihmolevel(jpt)))
132 dgo%XDOCMOY(jpt)=zdmoy(jpt)/(-
xzhoc(ihmolevel(jpt)))
140 IF (
lhook)
CALL dr_hook(
'DIAG_INLINE_OCEAN_N',1,zhook_handle)
185 REAL(KIND=JPRB) :: ZHOOK_HANDLE
193 r = det*(-0.19494-0.49038e-2*det)+0.77475*des
real, dimension(:), pointer xzhoc
subroutine diag_inline_ocean_n(DGO, O, PSEABATHY)
real, dimension(:), pointer xdz1
real function drhocompute(T, S)