Changeset 999 for LMDZ4/trunk/libf/dyn3d


Ignore:
Timestamp:
Oct 6, 2008, 10:33:07 AM (16 years ago)
Author:
Laurent Fairhead
Message:
  • Modifs sur le parallelisme: masquage dans la physique
  • Inclusion strato
  • mise en coherence etat0
  • le mode offline fonctionne maintenant en parallele,
  • les fichiers de la dynamiques sont correctement sortis et peuvent etre reconstruit avec rebuild
  • la version parallele de la dynamique peut s'executer sans MPI (sur 1 proc)
  • L'OPENMP fonctionne maintenant sans la parallelisation MPI.

YM
LF

Location:
LMDZ4/trunk/libf/dyn3d
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk/libf/dyn3d/conf_gcm.F

    r960 r999  
    675675      CALL getin('config_inca',config_inca)
    676676
     677!Config key = ok_strato
     678!Config  Desc = activation de la version strato
     679!Config  Def  = .FALSE.
     680!Config  Help = active la version stratosphérique de LMDZ de F. Lott
     681
     682      ok_strato=.FALSE.
     683      CALL getin('ok_strato',ok_strato)
     684
    677685      write(lunout,*)' #########################################'
    678686      write(lunout,*)' Configuration des parametres du gcm: '
     
    708716      write(lunout,*)' offline = ', offline
    709717      write(lunout,*)' config_inca = ', config_inca
     718      write(lunout,*)' ok_strato = ', ok_strato
    710719c
    711720      RETURN
  • LMDZ4/trunk/libf/dyn3d/disvert.F

    r524 r999  
    1111#include "paramet.h"
    1212#include "iniprint.h"
     13#include "logic.h"
    1314c
    1415c=======================================================================
     
    99100      DO l = 1, llm
    100101         x = 2.*asin(1.) * (FLOAT(l)-0.5) / float(llm+1)
    101          dsig(l) = 1.0 + 7.0 * SIN(x)**2
     102
     103         IF (ok_strato) THEN
     104           dsig(l) =(1.0 + 7.0 * SIN(x)**2)
     105     &            *(0.5*(1.-tanh(1.*(x-asin(1.))/asin(1.))))**2       
     106         ELSE
     107           dsig(l) = 1.0 + 7.0 * SIN(x)**2
     108         ENDIF
     109
    102110         snorm = snorm + dsig(l)
    103111      ENDDO
  • LMDZ4/trunk/libf/dyn3d/disvert0.F

    r524 r999  
    1313#include "paramet.h"
    1414#include "iniprint.h"
     15#include "logic.h"
    1516c
    1617c=======================================================================
     
    104105      DO l = 1, llm
    105106         x = 2.*asin(1.) * (FLOAT(l)-0.5) / float(llm+1)
    106          dsig(l) = 1.0 + 7.0 * SIN(x)**2
     107
     108         IF (ok_strato) THEN
     109           dsig(l) =(1.0 + 7.0 * SIN(x)**2)
     110     &            *(0.5*(1.-tanh(1.*(x-asin(1.))/asin(1.))))**2       
     111         ELSE
     112           dsig(l) = 1.0 + 7.0 * SIN(x)**2
     113         ENDIF
     114
    107115         snorm = snorm + dsig(l)
    108116      ENDDO
  • LMDZ4/trunk/libf/dyn3d/leapfrog.F

    r960 r999  
    184184      PARAMETER (testita = 9)
    185185
     186      logical , parameter :: flag_verif = .true.
     187     
     188
    186189      integer itau_w   ! pas de temps ecriture = itap + itau_phy
    187190
     
    377380     $               clesphy0, dufi,dvfi,dtetafi,dqfi,dpfi  )
    378381
     382       IF (ok_strato) THEN
     383         CALL top_bound( vcov,ucov,teta, dufi,dvfi,dtetafi)
     384       ENDIF
     385       
    379386c      ajout des tendances physiques:
    380387c      ------------------------------
     
    502509
    503510            IF( itau. EQ. itaufinp1 ) then 
    504 c              write(79,*) 'ucov',ucov
    505 c              write(80,*) 'vcov',vcov
    506 c              write(81,*) 'teta',teta
    507 c              write(82,*) 'ps',ps
    508 c              write(83,*) 'q',q
    509 c              WRITE(85,*) 'q1 = ',q(:,:,1)
    510 c              WRITE(86,*) 'q3 = ',q(:,:,3)
     511              if (flag_verif) then
     512                write(79,*) 'ucov',ucov
     513                write(80,*) 'vcov',vcov
     514                write(81,*) 'teta',teta
     515                write(82,*) 'ps',ps
     516                write(83,*) 'q',q
     517                WRITE(85,*) 'q1 = ',q(:,:,1)
     518                WRITE(86,*) 'q3 = ',q(:,:,3)
     519              endif
    511520
    512521              abort_message = 'Simulation finished'
  • LMDZ4/trunk/libf/dyn3d/logic.h

    r524 r999  
    22! $Header$
    33!
    4 c
    5 c
    6 c-----------------------------------------------------------------------
    7 c INCLUDE 'logic.h'
     4!
     5!
     6!-----------------------------------------------------------------------
     7! INCLUDE 'logic.h'
    88
    9       COMMON/logic/ purmats,iflag_phys,forward,leapf,apphys,
    10      .  statcl,conser,apdiss,apdelq,saison,ecripar,fxyhypb,ysinus
    11      .  ,read_start,ok_guide
     9      COMMON/logic/ purmats,iflag_phys,forward,leapf,apphys,            &
     10     &  statcl,conser,apdiss,apdelq,saison,ecripar,fxyhypb,ysinus       &
     11     &  ,read_start,ok_guide,ok_strato
    1212
    13       LOGICAL purmats,forward,leapf,apphys,statcl,conser,
    14      . apdiss,apdelq,saison,ecripar,fxyhypb,ysinus
    15      .  ,read_start,ok_guide
     13      LOGICAL purmats,forward,leapf,apphys,statcl,conser,               &
     14     & apdiss,apdelq,saison,ecripar,fxyhypb,ysinus                      &
     15     &  ,read_start,ok_guide,ok_strato
    1616
    1717      INTEGER iflag_phys
    18 c-----------------------------------------------------------------------
     18!-----------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.