Ignore:
Timestamp:
May 24, 2011, 1:26:29 PM (14 years ago)
Author:
emillour
Message:

Ehouarn: suite de l'implementation de la discretisation verticale,
avec quelques mises a jour pour concorder avec la version terrestre.
-> Finalement, on met un flag "disvert_type" pour fixer la discretisation

disvert_type==1 (defaut si planet_type=="earth") pour cas terrestre
disvert_type==2 (defaut si planet_type!="earth") pour cas planeto (z2sig.def)

-> au passage, pour rester en phase avec modele terrestre on renomme

disvert_terre en disvert (le disvert "alternatif" demeure 'disvert_noterre')

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/libf/dyn3dpar/exner_milieu.F

    r124 r127  
    4848      REAL SSUM
    4949      EXTERNAL SSUM
     50      logical,save :: firstcall=.true.
     51      character(len=*),parameter :: modname="exner_milieu"
    5052
    51       if (llm.eq.1) then
    52         ! Specific behaviour for Shallow Water (1 vertical layer) case
    53      
    54         ! Sanity checks
    55         if (kappa.ne.1) then
    56           call abort_gcm("exner_hyb",
    57      &    "kappa!=1 , but running in Shallow Water mode!!",42)
    58         endif
    59         if (cpp.ne.r) then
    60         call abort_gcm("exner_hyb",
    61      &    "cpp!=r , but running in Shallow Water mode!!",42)
     53      ! Sanity check
     54      if (firstcall) then
     55        ! check that vertical discretization is compatible
     56        ! with this routine
     57        if (disvert_type.ne.2) then
     58          call abort_gcm(modname,
     59     &     "this routine should only be called if disvert_type==2",42)
    6260        endif
    6361       
     62        ! sanity checks for Shallow Water case (1 vertical layer)
     63        if (llm.eq.1) then
     64          if (kappa.ne.1) then
     65            call abort_gcm(modname,
     66     &      "kappa!=1 , but running in Shallow Water mode!!",42)
     67          endif
     68          if (cpp.ne.r) then
     69            call abort_gcm(modname,
     70     &      "cpp!=r , but running in Shallow Water mode!!",42)
     71          endif
     72        endif ! of if (llm.eq.1)
     73
     74        firstcall=.false.
     75      endif ! of if (firstcall)
     76
     77!!!! Specific behaviour for Shallow Water (1 vertical layer) case:
     78      if (llm.eq.1) then
     79     
    6480        ! Compute pks(:),pk(:),pkf(:)
    6581       
     
    7490        ! our work is done, exit routine
    7591        return
     92
    7693      endif ! of if (llm.eq.1)
    7794
    78      
     95!!!! General case:
     96
    7997c     -------------
    8098c     Calcul de pks
Note: See TracChangeset for help on using the changeset viewer.