Ignore:
Timestamp:
Aug 25, 2015, 5:14:59 PM (9 years ago)
Author:
Ehouarn Millour
Message:

More on physics/dynamics separation and cleanup:

  • Set things up so that all physics-related initializations are done via iniphysiq.
  • Created a "geometry_mod.F90" module in phy_common to store information on the loacl grid (i.e. replaces comgeomphy) and moreover give these variables more obvious names (e.g.: rlond => longitude, rlatd => latitude, airephy => cell_area).
  • removed obsolete comgeomphy.h and comgeomphy.F90

EM

Location:
LMDZ5/trunk/libf/dyn3dpar
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/dyn3dpar/bands.F90

    r1907 r2351  
    9393   SUBROUTINE  Set_Bands
    9494     USE parallel_lmdz
    95 #ifdef CPP_PHYS
    96 ! Ehouarn: what follows is only related to // physics
    97      USE mod_phys_lmdz_para, ONLY : jj_para_begin,jj_para_end
    98 #endif
    9995     IMPLICIT NONE
    10096     INCLUDE 'dimensions.h'   
    101      INTEGER :: i
    102        
     97     INTEGER :: i, ij
     98     INTEGER :: jj_para_begin(0:mpi_size-1)
     99     INTEGER :: jj_para_end(0:mpi_size-1)
     100       
    103101      do i=0,mpi_size-1
    104102         jj_nb_vanleer2(i)=(jjm+1)/mpi_size
     
    106104      enddo
    107105         
    108 #ifdef CPP_PHYS
     106      jj_para_begin(0)=1
     107      ij=distrib_phys(0)+iim-1
     108      jj_para_end(0)=((ij-1)/iim)+1
     109     
     110      DO i=1,mpi_Size-1
     111        ij=ij+1
     112        jj_para_begin(i)=((ij-1)/iim)+1
     113        ij=ij+distrib_phys(i)-1
     114        jj_para_end(i)=((ij-1)/iim)+1
     115      ENDDO
     116 
    109117      do i=0,MPI_Size-1
    110118        jj_Nb_physic(i)=jj_para_end(i)-jj_para_begin(i)+1
     
    127135        endif
    128136      enddo
    129 #endif     
    130137     
    131138    end subroutine Set_Bands
  • LMDZ5/trunk/libf/dyn3dpar/gcm.F

    r2347 r2351  
    1414      USE parallel_lmdz
    1515      USE infotrac
    16 #ifdef CPP_PHYS
    17       USE mod_interface_dyn_phys, ONLY: init_interface_dyn_phys
    18 #endif
     16!#ifdef CPP_PHYS
     17!      USE mod_interface_dyn_phys, ONLY: init_interface_dyn_phys
     18!#endif
    1919      USE mod_hallo
    2020      USE Bands
     
    159159      call Read_Distrib
    160160
    161 #ifdef CPP_PHYS
    162         CALL Init_Phys_lmdz(iim,jjp1,llm,mpi_size,distrib_phys)
     161!#ifdef CPP_PHYS
     162!        CALL Init_Phys_lmdz(iim,jjp1,llm,mpi_size,distrib_phys)
    163163!#endif
    164164!      CALL set_bands
    165165!#ifdef CPP_PHYS
    166       CALL Init_interface_dyn_phys
    167 #endif
     166!      CALL Init_interface_dyn_phys
     167!#endif
    168168      CALL barrier
    169169
     
    403403! Physics:
    404404#ifdef CPP_PHYS
    405          CALL iniphysiq(iim,jjm,llm,daysec,day_ini,dtphys/nsplit_phys,
     405         CALL iniphysiq(iim,jjm,llm,
     406     &                distrib_phys(mpi_rank),comm_lmdz,
     407     &                daysec,day_ini,dtphys/nsplit_phys,
    406408     &                rlatu,rlatv,rlonu,rlonv,aire,cu,cv,rad,g,r,cpp,
    407409     &                iflag_phys)
Note: See TracChangeset for help on using the changeset viewer.