22 #include "dimensions.h"
28 #include "comdissnew.h"
33 INTEGER i,j,itmax,itmay,iter
34 REAL cvu(iip1,
jjp1),cuv(iip1,jjm)
35 REAL ai14,ai23,airez,rlatp,rlatm,xprm,xprp,un4rad2,yprp,yprm
36 REAL eps,x1,xo1,f,df,xdm,y1,yo1,ydm
37 REAL coslatm,coslatp,radclatm,radclatp
42 REAL rlonvv(iip1),rlatuu(
jjp1)
43 REAL rlatu1(jjm),yprimu1(jjm),rlatu2(jjm),yprimu2(jjm) ,
44 * yprimv(jjm),yprimu(
jjp1)
45 REAL gamdi_gdiv, gamdi_grot, gamdi_h
47 REAL rlonm025(iip1),xprimm025(iip1), rlonp025(iip1),
49 SAVE rlatu1,yprimu1,rlatu2,yprimu2,yprimv,yprimu
50 SAVE rlonm025,xprimm025,rlonp025,xprimp025
165 3
FORMAT( // 10
x,
' .... INIGEOM date du 01/06/98 ..... ',
166 * //5
x,
' Calcul des elongations cu et cv comme sommes des 4 ' /
167 * 5
x,
' elong. cuij1, .. 4 , cvij1,.. 4 qui les entourent , aux
168 * '/ 5
x,
' memes endroits que les aires aireij1,...j4 . ' / )
172 gamdi_gdiv =
coefdis/ (
REAL(nitergdiv) -2. )
177 gamdi_grot =
coefdis/ (
REAL(nitergrot) -2. )
182 gamdi_h =
coefdis/ (
REAL(niterh) -2. )
187 WRITE(6,*)
' gamdi_gd ',gamdi_gdiv,gamdi_grot,gamdi_h,
coefdis,
201 WRITE(6,*)
' *** Inigeom , Y = Sinus ( Latitude ) *** '
211 WRITE(6,*)
'*** Inigeom , Y = Latitude , der. sinusoid . ***'
225 DO 10 iter = 1, itmax
231 IF( xdm.LE.eps )
GO TO 11
248 IF(ydm.LE.eps)
GO TO 17
266 WRITE(6,*)
'*** Inigeom , Y = Latitude , der.tg. hyperbolique ***'
286 un4rad2 = 0.25 *
rad *
rad
354 coslatm = cos( rlatm )
355 radclatm = 0.5*
rad * coslatm
358 xprp = xprimp025( i )
359 xprm = xprimm025( i )
360 aireij2( i,1 ) = un4rad2 * coslatm * xprp * yprm
361 aireij3( i,1 ) = un4rad2 * coslatm * xprm * yprm
362 cuij2( i,1 ) = radclatm * xprp
363 cuij3( i,1 ) = radclatm * xprm
364 cvij2( i,1 ) = 0.5*
rad * yprm
365 cvij3( i,1 ) = cvij2(i,1)
379 IF ( j. eq.
jjp1 )
THEN
385 coslatp = cos( rlatp )
386 radclatp = 0.5*
rad * coslatp
389 xprp = xprimp025( i )
390 xprm = xprimm025( i )
391 aireij1( i,
jjp1 ) = un4rad2 * coslatp * xprp * yprp
392 aireij4( i,
jjp1 ) = un4rad2 * coslatp * xprm * yprp
393 cuij1(i,
jjp1) = radclatp * xprp
394 cuij4(i,
jjp1) = radclatp * xprm
395 cvij1(i,
jjp1) = 0.5 *
rad* yprp
411 IF ( j .gt. 1 .AND. j .lt.
jjp1 )
THEN
413 rlatp = rlatu2( j-1 )
414 yprp = yprimu2( j-1 )
422 coslatm = cos( rlatm )
423 coslatp = cos( rlatp )
424 radclatp = 0.5*
rad * coslatp
425 radclatm = 0.5*
rad * coslatm
427 ai14 = un4rad2 * coslatp * yprp
428 ai23 = un4rad2 * coslatm * yprm
430 xprp = xprimp025( i )
431 xprm = xprimm025( i )
437 cuij1( i,j ) = radclatp * xprp
438 cuij2( i,j ) = radclatm * xprp
439 cuij3( i,j ) = radclatm * xprm
440 cuij4( i,j ) = radclatp * xprm
441 cvij1( i,j ) = 0.5*
rad * yprp
442 cvij2( i,j ) = 0.5*
rad * yprm
443 cvij3( i,j ) = cvij2(i,j)
444 cvij4( i,j ) = cvij1(i,j)
451 cvij1(iip1,j) = cvij1(1,j)
452 cvij2(iip1,j) = cvij2(1,j)
453 cvij3(iip1,j) = cvij3(1,j)
454 cvij4(iip1,j) = cvij4(1,j)
455 cuij1(iip1,j) = cuij1(1,j)
456 cuij2(iip1,j) = cuij2(1,j)
457 cuij3(iip1,j) = cuij3(1,j)
458 cuij4(iip1,j) = cuij4(1,j)
523 fext(i,j) = airez * sin(
rlatv(j))* 2.* omeg
537 cv(i,j) = 0.5 *( cvij2(i,j)+cvij3(i,j)+cvij1(i,j+1)+cvij4(i,j+1))
538 cvu(i,j)= 0.5 *( cvij1(i,j)+cvij4(i,j)+cvij2(i,j) +cvij3(i,j) )
539 cuv(i,j)= 0.5 *( cuij2(i,j)+cuij3(i,j)+cuij1(i,j+1)+cuij4(i,j+1))
550 cvu(iip1,j) = cvu(1,j)
552 cuv(iip1,j) = cuv(1,j)
562 cu(i,j) = 0.5*(cuij1(i,j)+cuij4(i+1,j)+cuij2(i,j)+cuij3(i+1,j))
657 WRITE(6,*)
' *** Coordonnees de la grille *** '
660 WRITE(6,*)
' LONGITUDES aux pts. V ( degres ) '
668 WRITE(6,*)
' LATITUDES aux pts. V ( degres ) '
673 WRITE(6,400) (rlatuu(i),i=1,jjm)
679 WRITE(6,*)
' LONGITUDES aux pts. U ( degres ) '
684 WRITE(6,*)
' LATITUDES aux pts. U ( degres ) '
689 WRITE(6,400) (rlatuu(i),i=1,
jjp1)
692 444
format(f10.3,f6.0)
!$Header!c!c!c include serre h!c REAL alphax
!$Header!CDK comgeom COMMON comgeom unsairez
!$Header!CDK comgeom COMMON comgeom apols
!$Id mode_top_bound COMMON comconstr g
!$Header!CDK comgeom COMMON comgeom aireij3
subroutine fxysinus(rlatu, yprimu, rlatv, yprimv, rlatu1, yprimu1, rlatu2, yprimu2, rlonu, xprimu, rlonv, xprimv, rlonm025, xprimm025, rlonp025, xprimp025)
!$Header!CDK comgeom COMMON comgeom unsapolnga2 && aivscu2gam
!$Header!CDK comgeom COMMON comgeom alpha1p2
!$Header!CDK comgeom COMMON comgeom airesurg
!$Header!CDK comgeom COMMON comgeom && fext
!$Header!CDK comgeom COMMON comgeom aireij2
!$Header!CDK comgeom COMMON comgeom xprimv(iip1)!REAL &&cu
!$Header!CDK comgeom COMMON comgeom constang
!$Header!CDK comgeom COMMON comgeom aireij1
subroutine fxhyp(xprimm025, rlonv, xprimv, rlonu, xprimu, xprimp025)
!$Header!c!c!c include serre h!c REAL clon
!$Header!CDK comgeom COMMON comgeom aireij4
!$Header!CDK comgeom COMMON comgeom && alpha1
!$Id mode_top_bound COMMON comconstr && pi
!$Header!CDK comgeom COMMON comgeom aire
!$Header!CDK comgeom COMMON comgeom alpha4
!$Header!CDK comgeom COMMON comgeom rlatu
!$Header!CDK comgeom COMMON comgeom unscu2
!$Header!CDK comgeom COMMON comgeom alpha3
!$Header!CDK comgeom2 COMMON comgeom unsaire xprimu
!$Header!CDK comgeom COMMON comgeom && cvuscugam1
!$Header!CDK comgeom COMMON comgeom apoln
!$Header!CDK comgeom COMMON comgeom unscv2
!$Header!CDK comgeom COMMON comgeom && unsapolnga1
!$Header!CDK comgeom COMMON comgeom unsapolnga2 unsair_gam1
!$Header!CDK comgeom COMMON comgeom alpha1p4
!$Id mode_top_bound COMMON comconstr rad
!$Header!CDK comgeom COMMON comgeom aireu
!$Header!c!c!c include serre h!c REAL transy
!$Header!CDK comgeom COMMON comgeom unsapolnga2 cusurcvu
!$Header!c!c!c include serre h!c REAL pyo
!$Header!CDK comgeom COMMON comgeom unsapolnga2
!$Header!CDK comgeom COMMON comgeom cuvscvgam1
!$Header!CDK comgeom COMMON comgeom unsapolnga2 unsairz_gam
!$Header!CDK comgeom COMMON comgeom airvscu2
!$Header!CDK comgeom COMMON comgeom unsapolnga2 unsair_gam2
!$Header!CDK comgeom COMMON comgeom unsapolnga2 cuvsurcv
!$Header!CDK comgeom COMMON comgeom rlonu
!$Header!CDK comgeom COMMON comgeom rlatv
!$Header!c c INCLUDE fxyprim h c c c Fonctions in line c c REAL fyprim REAL rj c c il faut la calculer avant d appeler ces fonctions c c c Fonctions a changer selon x(x) et y(y) choisis.c-----------------------------------------------------------------c c.....ici
!$Header!CDK comgeom COMMON comgeom unsapolnga2 cvusurcu
!$Header!CDK comgeom COMMON comgeom alpha3p4
!$Id!Parameters for parameters that control the rate of approach!to quasi equilibrium noff nlm real tlcrit real entp real sigd real coeffs real dtmax real cu real betad real damp real delta COMMON cvparam nlm tlcrit sigd coeffs cu
!$Header!CDK comgeom COMMON comgeom alpha2p3
!$Header!CDK comgeom COMMON comgeom unsapolsga1
!$Header!c!c!c include serre h!c REAL pxo
subroutine fxy(rlatu, yprimu, rlatv, yprimv, rlatu1, yprimu1, rlatu2, yprimu2, rlonu, xprimu, rlonv, xprimv, rlonm025, xprimm025, rlonp025, xprimp025)
subroutine fyhyp(rlatu, yyprimu, rlatv, rlatu2, yprimu2, rlatu1, yprimu1)
c c zjulian c cym CALL iim cym klev iim
!$Header!c!c!c include serre h!c REAL clat
!$Header!CDK comgeom COMMON comgeom cuscvugam
!$Header!CDK comgeom COMMON comgeom unsapolnga2 aiuscv2gam
!$Header!CDK comgeom COMMON comgeom cv
!$Header!CDK comgeom COMMON comgeom unsapolnga2 cvsurcuv
!$Header!c!c!c include serre h!c REAL transx
!$Header!CDK comgeom COMMON comgeom alpha2
!$Header!CDK comgeom COMMON comgeom cuvscvgam2
!$Header!CDK comgeom COMMON comgeom unsapolsga2
!$Header!c!c!c include serre h!c REAL alphay
!$Header!CDK comgeom COMMON comgeom cvscuvgam
!$Header!CDK comgeom COMMON comgeom airuscv2
!$Header!CDK comgeom COMMON comgeom unsaire
!$Header!INCLUDE comdissip h COMMON comdissip coefdis
!$Header!CDK comgeom COMMON comgeom airev
!$Header!CDK comgeom COMMON comgeom rlonv
!$Header!CDK comgeom COMMON comgeom cvuscugam2