Vertical geometry

From GHER

Jump to: navigation, search

Template:Redirect Template:Redirect Template:Redirect Template:Redirect Template:Redirect

SIGII (K) est la coord sigma des interfaces, de 0 à 1 dans la région I et sigiii de 0 à 1 dans la région II

SIGMII (K) est la coord sigma des milieu de cellules, de 0 à 1 dans la région I et sigiii de 0 à 1 danbs la région II

DSI (K) est l'intervalle entre deux interfaces (la hauteur d'une cellule) en coordonnée sigma, soit le rapport entre la hauteur de cette cellule et la hauteur totale de la couche (I ou II)

DSMI (K) est la distance entre le milieu d'une cellule et le miilieu de celle juste en dessous, en coordonée sigma

DDSMI (K) est deux fois cette grandeur (??)

DZI, DZMI, DDZMI sont utilisé dans le calcul des flux verticaux (effectués par tranches verticales d'où le (I,K)) ils sont exprimés en coordonées sigma.

Remarquez la jonction DZI (I,1) = DSII(KSUPII)*HIISHI(I), qui exprime en coordonée sigma propre à la couche I la disance entre la dernière maille de la couche I et la première de la couche II


defined in fluxve.f, declared in VERFLU.H, MAILLES.H, TAILLES.H

       HISHII(I)=HI(I,J)/HII(I,J)
       HIISHI(I)=HII(I,J)/HI(I,J)
 DZI (I,K)      = DSI (K)
 DZII (I,K)     = DSII (K)
 DZI  (I,1)     = DSII(KSUPII)*HIISHI(I)
 DZII(I,KMAXII) = DSI (2)*HISHII (I)
 DZMI (I,K)     =DSMI (K)
 DZMII(I,K)     =DSMII(K)
 DZMI (I,2)=(DSI(2)+HIISHI(I)*DSII(KMAXII-1))*0.5
 DZMII(I,KMAXII)=(DSI (2)*HISHII(I)+DSII(KMAXII-1) )*0.5
 DDZMI (I,K)    =DDSMI (K)
 DDZMII (I,K)   =DDSMII (K)
 DDZMI (I,2)=2*DZMI (I,2)
 DDZMII(I,KMAXII)=2*DZMII(I,KMAXII)

defined in inimai.f90

       DSI (K)=SIGII (K+1)-SIGII (K)
       DSII(K)=SIGIII(K+1)-SIGIII(K)
       DSI (KMAX)=1.
       DSII(KMAX)=1.
       DSMI (K)=(DSI (K)+DSI (K-1))*0.5
       DSMII(K)=(DSII(K)+DSII(K-1))*0.5
       DSMI (1)=DSI (1)
       DSMII(1)=DSII(1)
       DDSMI (K)=2.*DSMI (K)
       DDSMII(K)=2.*DSMII(K)
       SIGMI (K) =SIGII (K) + DSI (K)*.5
       SIGMII(K) =SIGIII(K) + DSII(K)*.5

read in getgeo.f90 from .SIG

       ...
       READ(14,*) SIGII (K)
       ...


with GridZ flag, the following is added in INITIAL.H



 #ifdef GridZ
     do k=2,ksupII
     do j=1,jmax
     do i=1,imax
       gridZI(i,j,k-1) = (SIGIII(K)-1.)*HII(I,J)-HLIM
      end do
     end do
     end do

     do k=2,ksupI+1
     do j=1,jmax
     do i=1,imax
       gridZI(i,j,k+ksupII-2) = (SIGII (K)-1.)*HI(I,J)
     end do
     end do
     end do
     do k=2,ksupII
     do j=1,jmax
     do i=1,imax
       gridZM(i,j,k-1) = (SIGMII(K)-1.)*HII(I,J)-HLIM
      end do
     end do
     end do

     do k=2,ksupI
     do j=1,jmax
     do i=1,imax
       gridZM(i,j,k+ksupII-2) = (SIGMI (K)-1.)*HI(I,J)
     end do
     end do
     end do
     write(99,*) 'Test:  gridZM(50,30,7) ',gridZM(50,30,7),HII(50,30),sigmii(8),ksupii,hlim       
     write(99,*) 'Test:  gridZI(50,30,17), gridZI(50,30,18) ',gridZI(50,30,17), gridZI(50,30,18)
 #endif
Personal tools