Ignore:
Timestamp:
Mar 31, 2015, 3:49:07 PM (10 years ago)
Author:
emillour
Message:

All models: Reorganizing the physics/dynamics interface.

  • makelmdz and makelmdz_fcm scripts adapted to handle the new directory settings
  • misc: (replaces what was the "bibio" directory)
  • Should only contain extremely generic (and non physics or dynamics-specific) routines
  • Therefore moved initdynav.F90, initfluxsto.F, inithist.F, writedynav.F90, write_field.F90, writehist.F to "dyn3d_common"
  • dynlonlat_phylonlat: (new interface directory)
  • This directory contains routines relevent to physics/dynamics grid interactions, e.g. routines gr_dyn_fi or gr_fi_dyn and calfis
  • Moreover the dynlonlat_phylonlat contains directories "phy*" corresponding to each physics package "phy*" to be used. These subdirectories should only contain specific interfaces (e.g. iniphysiq) or main programs (e.g. newstart)
  • phy*/dyn1d: this subdirectory contains the 1D model using physics from phy*

EM

Location:
trunk/LMDZ.MARS/libf/dynlonlat_phylonlat
Files:
6 added
13 moved

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/dynlonlat_phylonlat/phymars/datareadnc.F

    r1401 r1403  
    228228      if (k.eq.4) then
    229229
    230           call multscal(imd*jmdp1,zdata,1000.,zdata)
    231           call multscal(imd,longitude,pi/180.,longitude)
    232           call multscal(jmdp1,latitude,pi/180.,latitude)
     230          zdata(:)=1000.*zdata(:)
     231          longitude(:)=(pi/180.)*longitude(:)
     232          latitude(:)=(pi/180.)*latitude(:)
    233233
    234234          call grid_noro1(360, 180, longitude, latitude, zdata,
     
    299299c-----------------------------------------------------------------------
    300300
    301       DO i=1,iimp1*jjp1
    302             phisinit(i)=1000.*phisinit(i)
    303       ENDDO
     301      phisinit(1:iimp1*jjp1)=1000.*phisinit(1:iimp1*jjp1)
    304302      CALL dump2d(iimp1,jjp1,phisinit,'Altitude in m')
    305       CALL multscal(iimp1*jjp1,phisinit,g,phisinit)
     303      phisinit(:)=g*phisinit(:)
    306304
    307305c-----------------------------------------------------------------------
  • trunk/LMDZ.MARS/libf/dynlonlat_phylonlat/phymars/newstart.F

    r1401 r1403  
    3434      use turb_mod, only: q2
    3535      use comgeomfi_h, only: ini_fillgeom
    36 
     36      use filtreg_mod, only: inifilr
    3737
    3838      implicit none
     
    137137      integer flagthermo, flagh2o
    138138      character modif*20
    139       real z_reel(iip1,jjp1)
    140139      real tsud,albsud,alb_bb,ith_bb,Tiso
    141140      real ptoto,pcap,patm,airetot,ptotn,patmn
     
    545544        if (trim(modif) .eq. 'flat') then
    546545c         set topo to zero
    547           CALL initial0(ip1jmp1,z_reel)
    548           CALL multscal(ip1jmp1,z_reel,g,phis)
     546          phis(:,:)=0
    549547          CALL gr_dyn_fi(1,iip1,jjp1,ngridmx,phis,phisfi)
    550548          write(*,*) 'topography set to zero.'
  • trunk/LMDZ.MARS/libf/dynlonlat_phylonlat/phymars/start2archive.F

    r1401 r1403  
    2424      use comsoil_h, only: ini_comsoil_h
    2525      use comgeomphy, only: initcomgeomphy
     26      use filtreg_mod, only: inifilr
    2627      implicit none
    2728
  • trunk/LMDZ.MARS/libf/dynlonlat_phylonlat/phymars/xvik.F

    r1401 r1403  
    11      PROGRAM xvik
     2
     3      USE filtreg_mod, ONLY: inifilr
     4
    25      IMPLICIT NONE
    36c=======================================================================
     
    7780
    7881      EXTERNAL iniconst,inigeom,covcont,mywrite
    79       EXTERNAL inifilr,exner,pbar
     82      EXTERNAL exner,pbar
    8083      EXTERNAL solarlong,coordij,moy2
    8184      EXTERNAL SSUM
    8285      REAL SSUM
    83       EXTERNAL lnblnk
    84       INTEGER lnblnk
    8586
    8687cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
     
    157158
    158159      firstcal=.true.
    159       DO WHILE(lnblnk(nomfich).GT.0.AND.lnblnk(nomfich).LT.50)
     160      DO WHILE(len_trim(nomfich).GT.0.AND.len_trim(nomfich).LT.50)
    160161      PRINT *,'>>>  nomfich : ',trim(nomfich)
    161162
    162163c%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    163164
    164       file=pathchmp(1:lnblnk(pathchmp))//'/'//
    165      s     nomfich(1:lnblnk(nomfich))
    166       PRINT*,'file.nc: ', file(1:lnblnk(file))//'.nc'
     165      file=pathchmp(1:len_trim(pathchmp))//'/'//
     166     s     nomfich(1:len_trim(nomfich))
     167      PRINT*,'file.nc: ', file(1:len_trim(file))//'.nc'
    167168      PRINT*,'timestep ',dtvr
    168169
    169170      IF(nc) THEN
    170       ierr= NF_OPEN(file(1:lnblnk(file))//'.nc',NF_NOWRITE,nid)       
     171      ierr= NF_OPEN(file(1:len_trim(file))//'.nc',NF_NOWRITE,nid)       
    171172      ELSE
    172173         PRINT*,'Ouverture binaire ',file
     
    179180c   ------------------------------
    180181
    181       CALL readhead_NC(file(1:lnblnk(file))//'.nc',day0,phis,constR)
     182      CALL readhead_NC(file(1:len_trim(file))//'.nc',day0,phis,constR)
    182183
    183184      WRITE (*,*) 'day0 = ' , day0
Note: See TracChangeset for help on using the changeset viewer.