regular_lonlat_mod.f90 Source File


Files dependent on this one

sourcefile~~regular_lonlat_mod.f90~~AfferentGraph sourcefile~regular_lonlat_mod.f90 regular_lonlat_mod.f90 sourcefile~regr_lat_time_coefoz_m.f90~2 regr_lat_time_coefoz_m.f90 sourcefile~regr_lat_time_coefoz_m.f90~2->sourcefile~regular_lonlat_mod.f90 sourcefile~inigeomphy_mod.f90~2 inigeomphy_mod.f90 sourcefile~inigeomphy_mod.f90~2->sourcefile~regular_lonlat_mod.f90 sourcefile~regr_horiz_time_climoz_m.f90~2 regr_horiz_time_climoz_m.f90 sourcefile~regr_horiz_time_climoz_m.f90~2->sourcefile~regular_lonlat_mod.f90 sourcefile~regr_horiz_time_climoz_m.f90 regr_horiz_time_climoz_m.f90 sourcefile~regr_horiz_time_climoz_m.f90->sourcefile~regular_lonlat_mod.f90 sourcefile~inigeomphy_mod.f90 inigeomphy_mod.f90 sourcefile~inigeomphy_mod.f90->sourcefile~regular_lonlat_mod.f90 sourcefile~strataer_emiss_mod.f90 strataer_emiss_mod.f90 sourcefile~strataer_emiss_mod.f90->sourcefile~regular_lonlat_mod.f90 sourcefile~iophys.f90~2 iophys.F90 sourcefile~iophys.f90~2->sourcefile~regular_lonlat_mod.f90 sourcefile~strataer_emiss_mod.f90~2 strataer_emiss_mod.f90 sourcefile~strataer_emiss_mod.f90~2->sourcefile~regular_lonlat_mod.f90 sourcefile~regr_lat_time_climoz_m.f90 regr_lat_time_climoz_m.f90 sourcefile~regr_lat_time_climoz_m.f90->sourcefile~regular_lonlat_mod.f90 sourcefile~regr_lat_time_coefoz_m.f90 regr_lat_time_coefoz_m.f90 sourcefile~regr_lat_time_coefoz_m.f90->sourcefile~regular_lonlat_mod.f90 sourcefile~iophys.f90 iophys.F90 sourcefile~iophys.f90->sourcefile~regular_lonlat_mod.f90 sourcefile~iniphysiq_mod.f90 iniphysiq_mod.F90 sourcefile~iniphysiq_mod.f90->sourcefile~inigeomphy_mod.f90 sourcefile~physiq_mod.f90 physiq_mod.F90 sourcefile~physiq_mod.f90->sourcefile~regr_horiz_time_climoz_m.f90 sourcefile~physiq_mod.f90->sourcefile~strataer_emiss_mod.f90 sourcefile~replay3d.f90 replay3d.f90 sourcefile~replay3d.f90->sourcefile~inigeomphy_mod.f90 sourcefile~replay3d.f90->sourcefile~iniphysiq_mod.f90 sourcefile~etat0dyn_netcdf.f90 etat0dyn_netcdf.F90 sourcefile~etat0dyn_netcdf.f90->sourcefile~regr_lat_time_coefoz_m.f90 sourcefile~etat0phys_netcdf.f90 etat0phys_netcdf.f90 sourcefile~etat0phys_netcdf.f90->sourcefile~regr_horiz_time_climoz_m.f90 sourcefile~iniphysiq_mod.f90~2 iniphysiq_mod.F90 sourcefile~iniphysiq_mod.f90~2->sourcefile~inigeomphy_mod.f90 sourcefile~replay1d.f90 replay1d.f90 sourcefile~replay1d.f90->sourcefile~inigeomphy_mod.f90 sourcefile~physiq_mod.f90~2 physiq_mod.F90 sourcefile~physiq_mod.f90~2->sourcefile~regr_horiz_time_climoz_m.f90 sourcefile~physiq_mod.f90~2->sourcefile~strataer_emiss_mod.f90 sourcefile~old_lmdz1d.f90 old_lmdz1d.f90 sourcefile~old_lmdz1d.f90->sourcefile~iniphysiq_mod.f90 sourcefile~old_lmdz1d.f90->sourcefile~physiq_mod.f90 sourcefile~gcm.f90 gcm.F90 sourcefile~gcm.f90->sourcefile~iniphysiq_mod.f90 sourcefile~callphysiq_mod.f90 callphysiq_mod.f90 sourcefile~callphysiq_mod.f90->sourcefile~physiq_mod.f90 sourcefile~ce0l.f90 ce0l.F90 sourcefile~ce0l.f90->sourcefile~iniphysiq_mod.f90 sourcefile~ce0l.f90->sourcefile~etat0dyn_netcdf.f90 sourcefile~ce0l.f90->sourcefile~etat0phys_netcdf.f90 sourcefile~callphysiq_mod.f90~2 callphysiq_mod.f90 sourcefile~callphysiq_mod.f90~2->sourcefile~physiq_mod.f90 sourcefile~scm.f90 scm.f90 sourcefile~scm.f90->sourcefile~iniphysiq_mod.f90 sourcefile~scm.f90->sourcefile~physiq_mod.f90 sourcefile~calfis.f90 calfis.f90 sourcefile~calfis.f90->sourcefile~callphysiq_mod.f90

Contents


Source Code

MODULE regular_lonlat_mod

  ! Store information on the global physics grid
  ! for a regular (longitude-latitude) grid
  
  INTEGER, PARAMETER :: north_east=1     ! boundaries of regular lontlat
  INTEGER, PARAMETER :: north_west=2     ! boundaries of regular lontlat
  INTEGER, PARAMETER :: south_west=3     ! boundaries of regular lontlat
  INTEGER, PARAMETER :: south_east=4     ! boundaries of regular lontlat
  INTEGER, PARAMETER :: east=2           ! boundaries of regular lontlat
  INTEGER, PARAMETER :: west=1           ! boundaries of regular lontlat
  INTEGER, PARAMETER :: north=1          ! boundaries of regular lontlat
  INTEGER, PARAMETER :: south=2          ! boundaries of regular lontlat

! Global definition, shared by all threads
! Do not set threadprivate directives

  REAL,SAVE,ALLOCATABLE :: lon_reg(:)      ! value of longitude cell (rad)

  REAL,SAVE,ALLOCATABLE :: lat_reg(:)      ! value of longitude cell (rad)

  REAL,SAVE,ALLOCATABLE :: boundslon_reg(:,:)      ! value of boundaries cell (1=>west, 2=>east)(rad)

  REAL,SAVE,ALLOCATABLE :: boundslat_reg(:,:)      ! value of longitude cell (1=>north, 2=>south)(rad)


CONTAINS
  
  SUBROUTINE init_regular_lonlat(nbp_lon, nbp_lat, lon_reg_, lat_reg_, boundslon_reg_, boundslat_reg_)
    IMPLICIT NONE
    INTEGER,INTENT(IN) :: nbp_lon
    INTEGER,INTENT(IN) :: nbp_lat
    REAL,   INTENT(IN) :: lon_reg_(nbp_lon)  
    REAL,   INTENT(IN) :: lat_reg_(nbp_lat) 
    REAL,   INTENT(IN) :: boundslon_reg_(nbp_lon,2) 
    REAL,   INTENT(IN) :: boundslat_reg_(nbp_lat,2)  

    
    ALLOCATE(lon_reg(nbp_lon))
    lon_reg(:)=lon_reg_(:)

    ALLOCATE(lat_reg(nbp_lat)) 
    lat_reg(:)=lat_reg_(:)

    ALLOCATE(boundslon_reg(nbp_lon,2)) 
    boundslon_reg(:,:)=boundslon_reg_(:,:)

    ALLOCATE(boundslat_reg(nbp_lat,2))  
    boundslat_reg(:,:)=boundslat_reg_(:,:)

  
  END SUBROUTINE init_regular_lonlat    

END MODULE regular_lonlat_mod