Ignore:
Timestamp:
Aug 21, 2015, 5:13:46 PM (9 years ago)
Author:
Ehouarn Millour
Message:

Physics/dynamics separation:

  • remove all references to dimensions.h from physics. nbp_lon (==iim) , nbp_lat (==jjm+1) and nbp_lev (==llm) from mod_grid_phy_lmdz should be used instead.
  • added module regular_lonlat_mod in phy_common to store information about the global (lon-lat) grid cell boundaries and centers.

EM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/regr_pr_comb_coefoz_m.F90

    r1907 r2346  
    4040
    4141    use dimphy, only: klon
     42    use mod_grid_phy_lmdz, only: nbp_lev
    4243
    4344    ! Variables local to the procedure:
    44     include "dimensions.h"
    4545
    4646    !---------------------------------------
     
    4949    print *, "Call sequence information: alloc_coefoz"
    5050    !$omp end master
    51     allocate(c_Mob(klon, llm), a2(klon, llm), a4_mass(klon, llm))
    52     allocate(a6_mass(klon, llm), r_het_interm(klon, llm))
     51    allocate(c_Mob(klon, nbp_lev), a2(klon, nbp_lev), a4_mass(klon, nbp_lev))
     52    allocate(a6_mass(klon, nbp_lev), r_het_interm(klon, nbp_lev))
    5353
    5454  end subroutine alloc_coefoz
     
    7979    use regr_pr_int_m, only: regr_pr_int
    8080    use press_coefoz_m, only: press_in_edg, plev
     81    use mod_grid_phy_lmdz, only: nbp_lev
    8182
    8283    integer, intent(in):: julien ! jour julien, 1 <= julien <= 360
     
    8586    ! (latitude on the partial "physics" grid, in degrees)
    8687
    87     real, intent(in):: paprs(:, :) ! (klon, llm + 1)
     88    real, intent(in):: paprs(:, :) ! (klon, nbp_lev + 1)
    8889    ! (pression pour chaque inter-couche, en Pa)
    8990
    90     real, intent(in):: pplay(:, :) ! (klon, llm)
     91    real, intent(in):: pplay(:, :) ! (klon, nbp_lev)
    9192    ! (pression pour le mileu de chaque couche, en Pa)
    9293
    9394    ! Variables local to the procedure:
    9495
    95     include "dimensions.h"
    9696    integer ncid ! for NetCDF
    9797
    98     real coefoz(klon, llm, 7)
     98    real coefoz(klon, nbp_lev, 7)
    9999    ! (temporary storage for 7 ozone coefficients)
    100100    ! (On the partial "physics" grid.
     
    102102    ! middle of layer "k".)
    103103
    104     real a6(klon, llm)
     104    real a6(klon, nbp_lev)
    105105    ! (derivative of "P_net_Mob" with respect to column-density of ozone
    106106    ! above, in cm2 s-1)
     
    121121    call assert((/size(rlat), size(paprs, 1), size(pplay, 1)/) == klon, &
    122122         "regr_pr_comb_coefoz klon")
    123     call assert((/size(paprs, 2) - 1, size(pplay, 2)/) == llm, &
    124          "regr_pr_comb_coefoz llm")
     123    call assert((/size(paprs, 2) - 1, size(pplay, 2)/) == nbp_lev, &
     124         "regr_pr_comb_coefoz nbp_lev")
    125125
    126126    !$omp master
     
    150150    r_het_interm = coefoz(:, :, 7)
    151151    ! Heterogeneous chemistry is only at high latitudes:
    152     forall (k = 1: llm)
     152    forall (k = 1: nbp_lev)
    153153       where (abs(rlat) <= 45.) r_het_interm(:, k) = 0.
    154154    end forall
Note: See TracChangeset for help on using the changeset viewer.