===================================================================
RCS file: /home/opalod/CVSROOT/OPA/SRC_UCL/bloc.Com,v
retrieving revision 1.3
diff -r1.3 bloc.Com
57c57
< & ,ust2s(imax,jmax),ust2b(imax,jmax)
---
> & ,ust2s(imax,jmax),ust2b(imax,jmax),phisc(imax,jmax)
===================================================================
RCS file: /home/opalod/CVSROOT/OPA/SRC_UCL/defgrid.f,v
retrieving revision 1.3
diff -r1.3 defgrid.f
113a114
> phisc(i,j)
= 0.0
===================================================================
RCS file: /home/opalod/CVSROOT/OPA/SRC_UCL/forcat.f,v
retrieving revision 1.2
diff -r1.2 forcat.f
59c59,60
<
fwat(i,j)=fwat(i,j)+runoff(i,j)*86400*1000
---
> c - Dans le cas couple, runoff_lln=0.0
>
fwat(i,j)=fwat(i,j)+runoff_lln(i,j)*86400*1000
===================================================================
RCS file: /home/opalod/CVSROOT/OPA/SRC_UCL/icdyna.Fom,v
retrieving revision 1.2
31a32
> phisc(i,j)
= 0.0
===================================================================
RCS file: /home/opalod/CVSROOT/OPA/SRC_UCL/ice.com,v
retrieving revision 1.4
diff -r1.4 ice.com
98c98
< c runoff river runoff
---
> c runoff_lln river runoff
141c141
< & albecn(imax,jmax),tauc(imax,jmax),runoff(imax,jmax),
---
> & albecn(imax,jmax),tauc(imax,jmax),runoff_lln(imax,jmax),
143c143
< & , fder(imax,jmax)
---
> & , fder(imax,jmax), calving(imax,jmax)
===================================================================
RCS file: /home/opalod/CVSROOT/OPA/SRC_UCL/icemodel.f,v
retrieving revision 1.5
111,112c111,113
<
< if (mod(numit,nsav).eq.0)
then
---
> CEM On sauve un etat de redemarrage a chaque fin de mois (1 relance)
> C if (mod(numit,nsav).eq.0)
then
> if (numit.eq.nlast)
then
114c115,117
< indicf
= (nlast - numit) / nsav
---
> CEM Le nom du restart contient le numero du jour de la fin de la
relance
> c indicf =
(nlast - numit) / nsav
> indicf
= nlast / (daysec / dts(ks2) )
===================================================================
RCS file: /home/opalod/CVSROOT/OPA/SRC_UCL/icetooce.f,v
retrieving revision 1.4
diff -r1.4 icetooce.f
15c15
< real sbcocn(imax,jmax,10)
---
> real sbcocn(imax,jmax,11)
26c26
< sbcocn(:,:,8:10) = 0.0e0
---
> sbcocn(:,:,8:11) = 0.0e0
39a41,43
> c Calving
> c Multiply by rho0 to obtain
the right dimensions (Kg/m2/s)
> sbcocn(i,j,11)=phisc(i,j)*rho0/dts(ks2)
===================================================================
RCS file: /home/opalod/CVSROOT/OPA/SRC_UCL/ocetoice.F,v
retrieving revision 1.4
diff -r1.4 ocetoice.F
35c35
< runoff(i,j)=0.0
---
> runoff_lln(i,j)=0.0
36a37,38
> c calving (mm/day)
> calving(i,j)=0.0
50,57c52,56
< IF ( imax .EQ. 92 ) THEN
< i
= 25 ; j = 2
< ELSE IF ( imax .EQ. 182 )
THEN
< i
= 50 ; j = 4
< ELSE IF ( imax .EQ. 722 )
THEN
< i
= 200 ; j = 16
< ENDIF
< write(98,*) tairox(i,j),tairoy(i,j)
---
> i=50 ; j=4
> write(98,*)
> &
tairox(i,j),tairoy(i,j)
> write(98,*) sbcocn(i,j,6),sbcocn(i,j,7),
sbcocn(i,j,8),
> &
sbcocn(i,j,9)
82,90c81,82
< IF ( imax .EQ. 92 ) THEN
< i
= 25 ; j = 2
< ELSE IF ( imax .EQ. 182 )
THEN
< i
= 50 ; j = 4
< ELSE IF ( imax .EQ. 722 )
THEN
< i
= 200 ; j = 16
< ENDIF
< C i=50
< C j=12
---
> i=50
> j=12
===================================================================
RCS file: /home/opalod/CVSROOT/OPA/SRC_UCL/ocetoice.coupled.h,v
retrieving revision 1.4
diff -r1.4 ocetoice.coupled.h
10c10
< real ciobc (imax,jmax,12)
---
> real ciobc (imax,jmax,13)
23c23
< c le flux non solaire avec le flux IR montant sur la glace
---
> c le flux non solaire sauf le flux IR montant sur la glace
26,27c26,28
< c le bilan hydrique ( precip liquide - evap ) + runoff
< fwat
( i, j) = ciobc ( i, j, 5) + ciobc ( i, j, 7)
---
> c le bilan hydrique ( precip totale - evap
> c
SANS le runoff et le calving )
> fwat
( i, j) = ciobc ( i, j, 5)
29a31,32
> c le calving (utilise seulement pour bilan de chaleur ds les leads)
> calving ( i,
j) = ciobc ( i, j, 13)
42c45
< runoff (
i, j) = 0.0e0
---
> runoff_lln
( i, j) = 0.0e0
54c57
< &
,cloud(i,j),fwat(i,j),runoff(i,j)
---
> &
,cloud(i,j),fwat(i,j),runoff_lln(i,j)
121c124
< c$$$ CALL prihre( runoff,imax,jmax,1,imax,1,1,jmax,1,zfp,2)
---
> c$$$ CALL prihre( runoff_lln,imax,jmax,1,imax,1,1,jmax,1,zfp,2)
===================================================================
RCS file: /home/opalod/CVSROOT/OPA/SRC_UCL/outave.f,v
retrieving revision 1.2
diff -r1.2 outave.f
357a358
> cmo(i,j,35)=
dmnbq(i,j)
409a411
>
cmoymo(i,j,35)= cmoymo(i,j,35)+ cmo(i,j,35)
===================================================================
RCS file: /home/opalod/CVSROOT/OPA/SRC_UCL/prep.sed,v
retrieving revision 1.4
diff -r1.4 prep.sed
25c25,27
< s/^Ccp0 / /g
---
> s/^Ccpl / /g
> # Ccp0 ou Ccpl : [Methode de couplage]
> s/^Ccp2 / /g
===================================================================
RCS file: /home/opalod/CVSROOT/OPA/SRC_UCL/shine.f,v
retrieving revision 1.2
diff -r1.2 shine.f
33,35c33,54
< alphd = 0.80
< alphdi = 0.72
< alphs = 0.65
---
> CEM Idem
> if (ih.eq.1) THEN
> CEM Correction for Arctic domain (all values are reduced by 0.1)
> alphd = 0.70
> alphdi = 0.62
> alphs = 0.55
> CEM Mise a zero correction nuageuse et reduction de l'albedo
glace fondante
> cgren = 0.00
> albin = 0.40
> C coefficients of linear and cubic functions
> zc1 = 0.372
> zc2 = 0.1467
> zc3 = 1.6
> else
> alphd = 0.80
> alphdi = 0.72
> alphs = 0.65
> zc1 = 0.472
> zc2 = 0.2467
> zc3 = 3.6
> endif
> CEM Idem
52c71
<
al = 0.472+2.0*(alphdi-0.472)*(hgbq-1.0)
---
>
al = zc1 +2.0*(alphdi-zc1)*(hgbq-1.0)
54c73
<
al = 0.2467+(0.7049*hgbq)-(0.8608*(hgbq*hgbq))+
---
>
al = zc2 +(0.7049*hgbq)-(0.8608*(hgbq*hgbq))+
57c76
<
al = 0.1+3.6*hgbq
---
>
al = 0.1+zc3*hgbq
83c102
<
zalbp = 0.472+2.*(alphdi-0.472)*(hgbq-1.)
---
>
zalbp = zc1+2.*(alphdi-zc1)*(hgbq-1.)
85c104
<
zalbp = 0.2467+
---
>
zalbp = zc2+
89c108
<
zalbp = 0.1+3.6*hgbq
---
>
zalbp = 0.1+zc3*hgbq
98c117
<
zalbp = 0.472+(2.*(albice-0.472)*(hgbq-1.))
---
>
zalbp = zc1+(2.*(albice-zc1)*(hgbq-1.))
100c119
<
zalbp = 0.2467+0.7049*hgbq
---
>
zalbp = zc2+0.7049*hgbq
104c123
<
zalbp = 0.1+3.6*hgbq
---
>
zalbp = 0.1+zc3*hgbq
===================================================================
RCS file: /home/opalod/CVSROOT/OPA/SRC_UCL/thersf.Fom,v
retrieving revision 1.4
diff -r1.4 thersf.Fom
25,26c25,33
< dimension zhgbqp(imax,jmax),zhnpbq(imax,jmax)
< dimension fdtcn(imax,jmax)
---
> dimension zhgbqp(imax,jmax),zhnpbq(imax,jmax)
> dimension fdtcn(imax,jmax), zcalving(imax,jmax)
> dimension zcalv(imax,jmax), zcalv2(imax,jmax)
> REAL zspsc
> REAL zrescalv
> REAL zlimcalv
> REAL zaire
> INTEGER ismooth
> INTEGER jfonte, jlimit
83a93
>
zcalving(i,j) = raptime * calving(i,j)
92c105
< do
200 i=is1(j),is2(j)
---
> DO 200
i=is1(j),is2(j)
140a154,284
> c
> c
> c-- Calcul du calving rereparti sur toute la zone geographique de
> c-- sa fonte en fonction de la proportion de maille libre de glace
> c
> c 1: Inuit Nunat (Groenland)
> zcalv(:,:)= 0.
> zrescalv=0.
> zaire=0.
> c Cumul des valeurs de calving de l Inuit Nunat
> DO i=117,134
> DO j=116,140
> zrescalv=zrescalv+zcalving(i,j)*aire(i,j)
> zcalving(i,j)=0.
> ENDDO
> ENDDO
> c
> c
> call flush(2)
> c
> DO i=1,182
> DO j=1,149
> zaire=zaire+tms(i,j,ks2)*aire(i,j)
> ENDDO
> ENDDO
> c
> zrescalv=zrescalv/zaire
> DO i=1,182
> DO j=1,149
> zcalv(i,j)
= tms(i,j,ks2)*zrescalv
> ENDDO
> ENDDO
> c
> c 2: Antarctique
> c i = 1 a 182
> DO i=1,182
> j=1
> do while (ABS(zcalving
(i,j)) .lt. zeps0
> $
.and. j .lt. 50 )
> j=j+1
> enddo
> if ( j .lt. 50) then
>
jfonte=j
>
zcalv(i,j) = zcalv(i,j) +
> $
tms(i,j,ks2)*zcalving(i,j)*albq(i,j)
>
zspsc = ( zcalving(i,j) -
> $
tms(i,j,ks2)*zcalving(i,j)*albq(i,j))*aire(i,j)
>
do while ( zspsc .gt. zeps0*aire(i,j) )
>
jfonte=jfonte+1
>
if (aire(i,jfonte) .gt. 0.) then
>
zcalv(i,jfonte) = zcalv(i,jfonte) +
> $
tms(i,jfonte,ks2)* zspsc *
> $
albq(i,jfonte) /
> $
aire(i,jfonte)
>
endif
>
zspsc = zspsc -
> $
tms(i,jfonte,ks2)* zspsc * albq(i,jfonte)
>
enddo
> endif
> c On passe une deuxieme fois pour les lignes a double
deversement
> c
> j=j+1
> do while (ABS(zcalving
(i,j)) .lt. zeps0
> $
.and. j .lt. 50 )
> j=j+1
> enddo
> if ( j .lt. 50) then
>
jfonte=j
>
zcalv(i,j) = zcalv(i,j) +
> $
tms(i,j,ks2)*zcalving(i,j)*albq(i,j)
>
zspsc = ( zcalving(i,j) -
> $
tms(i,j,ks2)*zcalving(i,j)*albq(i,j))*aire(i,j)
>
do while ( zspsc .gt. zeps0*aire(i,j) )
>
jfonte=jfonte+1
>
if (aire(i,jfonte) .gt. 0.) then
>
zcalv(i,jfonte) = zcalv(i,jfonte) +
> $
tms(i,jfonte,ks2)* zspsc *
> $
albq(i,jfonte) /
> $
aire(i,jfonte)
>
endif
>
zspsc = zspsc -
> $
tms(i,jfonte,ks2)* zspsc * albq(i,jfonte)
>
enddo
> endif
> c
> c En bout de banquise, le calving est reparti sur
3
> c point de mer libre
> c si la valeur du dernier point de deversement
depasse zlimcalv
> c
> zlimcalv=.15
> c
> j=50
> do while (ABS(zcalv
(i,j)) .lt. zlimcalv
> $
.and. j .gt. 1 )
> j=j-1
> enddo
> if ( j .gt. 1) then
>
zspsc = ( zcalv(i,j)*aire(i,j)
> $
+ zcalv(i,j-1)*aire(i,j-1) ) / 3.
>
zcalv(i,j)=0.
>
zcalv(i,j-1)=0.
>
ismooth=0
>
jfonte=j-1
>
do while ( ismooth .lt. 3 )
> c
WRITE(2,*) 'Thersf: albq' , albq(i,jfonte)
> c
WRITE(2,*) 'Thersf: aire' , aire(i,jfonte)
>
if (aire(i,jfonte) .gt. 0.) then
>
if ( (1-albq(i,jfonte)) .lt. 0.5 ) then
>
zcalv(i,jfonte) = zcalv(i,jfonte) +
> $
tms(i,jfonte,ks2) * zspsc /
> $
aire(i,jfonte)
> c
WRITE(2,*) 'Thersf: zcalv' , zcalv(i,jfonte)
> c
WRITE(2,*) 'Thersf: j' , jfonte
>
ismooth=ismooth+1
>
endif
>
endif
>
jfonte=jfonte+1
>
enddo
> endif
> ENDDO
> c
177c322,338
< zfontn
= zhnpbq(i,j)*xln/ddtb
---
> c-- Calcul du calving rereparti sur toute la zone geographique de
> c-- sa fonte en fonction de la proporetion de maille libre de glace
> c
> c--on calcule ici un nouveau flux de calving assurant
> c la conservation de la masse lorsque le flux sera multiplie
par la
> c surface eau de la maille (tout le calving est suppose fondre
dans la
> c partie lead de la maille).
> C Test a virer apres phase de validation?
> IF (ABS(zcalv(i,j))
.GE. zeps0 ) THEN
>
IF (albq(i,j) .LT. zeps0) THEN
>
WRITE(6,*)
> $ 'WARNING: significant calving
in mesh with very small leads'
>
stop
>
ENDIF
>
zcalv2(i,j) = zcalv(i,j) / albq(i,j)
> ENDIF
> zfontn
= (zhnpbq(i,j)+zcalv2(i,j)*rhoesn) *xln/ddtb
481a644
> Cfdd if (icoupl .eq. 0) then
485a649,653
> Cfdd else
> Cfdd pme
= (zfwat(i,j)-zhnpbq(i,j)*(1.-ain(i,j))*rhon
> Cfdd &
-dmnbq(i,j))
> Cfdd &
/ddtb
> Cfdd endif
487a656
> Cfdd phisc(i,j) = -zcalving(i,j)/rho0
+ phisc(i,j)
512a682,691
> pme
= (zfwat(34,116)-zhnpbq(34,116)*(1.-
> &
ain(34,116))*rhon-dmnbq(34,116))/ddtb
> c write(*,*) 'pme', pme
> c write(*,*) 'zfwat(34,116',
zfwat(34,116)
> c write(*,*) 'dmnbq(34,116',
dmnbq(34,116)
> c write(*,*)
'zhnpbq(34,116)', zhnpbq(34,116)
> c write(*,*)
'ain(34,116)', ain(34,116)
> c write(*,*)
'phiss(34,116,0)', phiss(34,116,0)
> c