Changeset 1523 for trunk/LMDZ.MARS


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

Location:
trunk/LMDZ.MARS
Files:
1 added
2 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/README

    r1521 r1523  
    22192219- Adapted "create_make_gcm" and "makegcm*" scripts accordingly
    22202220  (deleted obsolete makegcm_g95)
     2221
     2222== 28/03/2016 == EM
     2223- Added module "regular_lonlat_mod.F90" (to store information on global
     2224  lon-lat grid) in phy_common.
     2225- Turned iniphysiq (in dynlonlat_phylonlat/phymars)into module
     2226  "iniphysiq_mod.F90".
  • trunk/LMDZ.MARS/libf/dyn3d/gcm.F

    r1422 r1523  
    1212     .          apdiss,purmats,physic,apphys
    1313      USE temps_mod, ONLY: day_ini,day_end,dt,itaufin
     14      USE iniphysiq_mod, ONLY: iniphysiq
    1415      IMPLICIT NONE
    1516
     
    254255!         CALL iniphysiq(iim,jjm,llm,daysec,day_ini,dtphys/nsplit_phys,
    255256         CALL iniphysiq(iim,jjm,llm,daysec,day_ini,dtphys,
    256      &                rlatu,rlonv,aire,cu,cv,rad,g,r,cpp,
    257      &                1)
     257     &                  rlatu,rlatv,rlonu,rlonv,
     258     &                  aire,cu,cv,rad,g,r,cpp,
     259     &                  1)
    258260!     &                iflag_phys)
    259261!#endif
  • trunk/LMDZ.MARS/libf/dynlonlat_phylonlat/phymars/iniphysiq_mod.F90

    r1520 r1523  
     1MODULE iniphysiq_mod
     2
     3CONTAINS
     4
    15subroutine iniphysiq(ii,jj,nlayer,punjours, pdayref,ptimestep,           &
    2                      rlatu,rlonv,aire,cu,cv,                             &
     6                     rlatu,rlatv,rlonu,rlonv,aire,cu,cv,                 &
    37                     prad,pg,pr,pcpp,iflag_phys)
    48
     
    1923use infotrac, only : nqtot ! number of advected tracers
    2024use comgeomfi_h, only: ini_fillgeom
     25use regular_lonlat_mod, only: init_regular_lonlat, &
     26                              east, west, north, south, &
     27                              north_east, north_west, &
     28                              south_west, south_east
    2129
    2230implicit none
     
    3341integer,intent(in) :: ii ! number of atmospheric coulumns along longitudes
    3442integer,intent(in) :: jj  ! number of atompsheric columns along latitudes
    35 real,intent(in) :: rlatu(jj+1) ! latitudes of the dynamics U grid
    36 real,intent(in) :: rlonv(ii+1) ! longitudes of the dynamics V grid
     43real,intent(in) :: rlatu(jj+1) ! latitudes of the physics grid
     44real,intent(in) :: rlatv(jj) ! latitude boundaries of the physics grid
     45real,intent(in) :: rlonv(ii+1) ! longitudes of the physics grid
     46real,intent(in) :: rlonu(ii+1) ! longitude boundaries of the physics grid
    3747real,intent(in) :: aire(ii+1,jj+1) ! area of the dynamics grid (m2)
    3848real,intent(in) :: cu((ii+1)*(jj+1)) ! cu coeff. (u_covariant = cu * u)
     
    4757character(len=80) :: abort_message
    4858real :: total_area_phy, total_area_dyn
     59real :: pi
    4960
     61! boundaries, on global grid
     62real,allocatable :: boundslon_reg(:,:)
     63real,allocatable :: boundslat_reg(:,:)
    5064
    5165! global array, on full physics grid:
     
    5569real,allocatable :: cvfi(:)
    5670real,allocatable :: airefi(:)
     71
     72pi=2.*asin(1.0)
    5773
    5874IF (nlayer.NE.klev) THEN
     
    7389!  CALL abort_gcm (modname,abort_message,1)
    7490!ENDIF
     91
     92! init regular global longitude-latitude grid points and boundaries
     93ALLOCATE(boundslon_reg(ii,2))
     94ALLOCATE(boundslat_reg(jj+1,2))
     95 
     96DO i=1,ii
     97   boundslon_reg(i,east)=rlonu(i)
     98   boundslon_reg(i,west)=rlonu(i+1)
     99ENDDO
     100
     101boundslat_reg(1,north)= PI/2
     102boundslat_reg(1,south)= rlatv(1)
     103DO j=2,jj
     104   boundslat_reg(j,north)=rlatv(j-1)
     105   boundslat_reg(j,south)=rlatv(j)
     106ENDDO
     107boundslat_reg(jj+1,north)= rlatv(jj)
     108boundslat_reg(jj+1,south)= -PI/2
     109
     110! Write values in module regular_lonlat_mod
     111CALL init_regular_lonlat(ii,jj+1, rlonv(1:ii), rlatu, &
     112                         boundslon_reg, boundslat_reg)
    75113
    76114! Generate global arrays on full physics grid
     
    141179
    142180end subroutine iniphysiq
     181
     182
     183END MODULE iniphysiq_mod
Note: See TracChangeset for help on using the changeset viewer.