Ignore:
Timestamp:
Mar 28, 2016, 5:27:51 PM (9 years ago)
Author:
emillour
Message:

All models: More updates to make planetary codes (+Earth) setups converge.

  • in dyn3d_common:
  • convmas.F => convmas.F90
  • enercin.F => enercin.F90
  • flumass.F => flumass.F90
  • massbar.F => massbar.F90
  • tourpot.F => tourpot.F90
  • vitvert.F => vitvert.F90
  • in misc:
  • move "q_sat" from "dyn3d_common" to "misc" (in Earth model, it is also called by the physics)
  • move "write_field" from "dyn3d_common" to "misc"(may be called from physics or dynamics and depends on neither).
  • in phy_common:
  • move "write_field_phy" here since it may be called from any physics package)
  • add module "regular_lonlat_mod" to store global information on lon-lat grid
  • in dynlonlat_phylonlat/phy*:
  • turn "iniphysiq.F90" into module "iniphysiq_mod.F90" (and of course adapt gcm.F[90] and 1D models accordingly)

EM

File:
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/dyn3d_common/convmas.F90

    r1520 r1523  
     1SUBROUTINE convmas (pbaru, pbarv, convm)
    12!
    2 ! $Header$
    3 !
    4       SUBROUTINE convmas (pbaru, pbarv, convm )
    5 c
    6       IMPLICIT NONE
     3!-------------------------------------------------------------------------------
     4! Authors: P. Le Van , Fr. Hourdin.
     5!-------------------------------------------------------------------------------
     6! Purpose: Compute mass flux convergence at p levels.
     7  IMPLICIT NONE
     8  include "dimensions.h"
     9  include "paramet.h"
     10  include "comgeom.h"
     11!===============================================================================
     12! Arguments:
     13  REAL, INTENT(IN)  :: pbaru(ip1jmp1,llm)
     14  REAL, INTENT(IN)  :: pbarv(ip1jm  ,llm)
     15  REAL, INTENT(OUT) :: convm(ip1jmp1,llm)
     16!===============================================================================
     17! Method used:   Computation from top to bottom.
     18!   Mass convergence at level llm is equal to zero and is not stored in convm.
     19!===============================================================================
     20! Local variables:
     21  INTEGER :: l
     22!===============================================================================
    723
    8 c=======================================================================
    9 c
    10 c   Auteurs:  P. Le Van , F. Hourdin  .
    11 c   -------
    12 c
    13 c   Objet:
    14 c   ------
    15 c
    16 c   ********************************************************************
    17 c   .... calcul de la convergence du flux de masse aux niveaux p ...
    18 c   ********************************************************************
    19 c
    20 c
    21 c     pbaru  et  pbarv  sont des arguments d'entree pour le s-pg  ....
    22 c      .....  convm      est  un argument de sortie pour le s-pg  ....
    23 c
    24 c    le calcul se fait de haut en bas,
    25 c    la convergence de masse au niveau p(llm+1) est egale a 0. et
    26 c    n'est pas stockee dans le tableau convm .
    27 c
    28 c
    29 c=======================================================================
    30 c
    31 c   Declarations:
    32 c   -------------
     24!--- Computation of - (d(pbaru)/dx + d(pbarv)/dy )
     25  CALL convflu( pbaru, pbarv, llm, convm )
    3326
    34 #include "dimensions.h"
    35 #include "paramet.h"
     27!--- Filter
     28  CALL filtreg( convm, jjp1, llm, 2, 2, .TRUE., 1 )
    3629
    37       REAL pbaru( ip1jmp1,llm ),pbarv( ip1jm,llm ),convm(  ip1jmp1,llm )
    38       INTEGER   l,ij
     30!--- Mass convergence is integrated from top to bottom
     31  DO l=llmm1,1,-1
     32    convm(:,l) = convm(:,l) + convm(:,l+1)
     33  END DO
    3934
    40 
    41 c-----------------------------------------------------------------------
    42 c    ....  calcul de - (d(pbaru)/dx + d(pbarv)/dy ) ......
    43 
    44       CALL  convflu( pbaru, pbarv, llm, convm )
    45 
    46 c-----------------------------------------------------------------------
    47 c   filtrage:
    48 c   ---------
    49 
    50        CALL filtreg( convm, jjp1, llm, 2, 2, .true., 1 )
    51 
    52 c    integration de la convergence de masse de haut  en bas ......
    53 
    54       DO      l      = llmm1, 1, -1
    55         DO    ij     = 1, ip1jmp1
    56          convm(ij,l) = convm(ij,l) + convm(ij,l+1)
    57         ENDDO
    58       ENDDO
    59 c
    60       RETURN
    61       END
     35END SUBROUTINE convmas
Note: See TracChangeset for help on using the changeset viewer.