Ignore:
Timestamp:
Jul 24, 2024, 4:23:34 PM (3 months ago)
Author:
abarral
Message:

rename modules properly lmdz_*
move some unused files to obsolete/
(lint) uppercase fortran keywords

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/phylmd/regr_lat_time_coefoz_m.F90

    r5116 r5117  
    3333    ! -- the latitude is in degrees and strictly monotonic (as all
    3434    ! NetCDF coordinate variables should be);
    35     ! -- time increases from January to December (even though we do
     35    ! -- time increases from January to December (even though we DO
    3636    ! not use values of the input time coordinate);
    3737    ! -- pressure is in hPa and in strictly ascending order (even
     
    4040    ! when we regrid in pressure).
    4141
    42     use lmdz_grid_phy, ONLY: nbp_lat
    43     use regr_conserv_m, ONLY: regr_conserv
    44     use regr_lint_m, ONLY: regr_lint
    45     use netcdf95, ONLY: nf95_open, nf95_close, nf95_inq_varid, nf95_get_var, &
     42    USE lmdz_grid_phy, ONLY: nbp_lat
     43    USE lmdz_regr_conserv, ONLY: regr_conserv
     44    USE lmdz_regr_lint, ONLY: regr_lint
     45    USE netcdf95, ONLY: nf95_open, nf95_close, nf95_inq_varid, nf95_get_var, &
    4646         nf95_put_var, nf95_gw_var
    47     use netcdf, ONLY: nf90_nowrite
    48     use nrtype, ONLY: pi
    49     use lmdz_regular_lonlat, ONLY: boundslat_reg, south
     47    USE netcdf, ONLY: nf90_nowrite
     48    USE lmdz_physical_constants, ONLY: pi
     49    USE lmdz_regular_lonlat, ONLY: boundslat_reg, south
    5050
    5151    ! Variables local to the procedure:
    5252
    53     integer ncid_in, ncid_out ! NetCDF IDs for input and output files
    54     integer n_plev ! number of pressure levels in the input data
    55     integer n_lat! number of latitudes in the input data
    56 
    57     real, allocatable:: latitude(:)
     53    INTEGER ncid_in, ncid_out ! NetCDF IDs for input and output files
     54    INTEGER n_plev ! number of pressure levels in the input data
     55    INTEGER n_lat! number of latitudes in the input data
     56
     57    REAL, ALLOCATABLE:: latitude(:)
    5858    ! (of input data, converted to rad, sorted in strictly ascending order)
    5959
    60     real, allocatable:: lat_in_edg(:)
     60    REAL, ALLOCATABLE:: lat_in_edg(:)
    6161    ! (edges of latitude intervals for input data, in rad, in strictly
    6262    ! ascending order)
    6363
    64     real, allocatable:: plev(:) ! pressure level of input data
    65     logical desc_lat ! latitude in descending order in the input file
    66 
    67     real, allocatable:: o3_par_in(:, :, :) ! (n_lat, n_plev, 12)
     64    REAL, ALLOCATABLE:: plev(:) ! pressure level of input data
     65    LOGICAL desc_lat ! latitude in descending order in the input file
     66
     67    REAL, ALLOCATABLE:: o3_par_in(:, :, :) ! (n_lat, n_plev, 12)
    6868    ! (ozone parameter from the input file)
    6969    ! ("o3_par_in(j, l, month)" is at latitude "latitude(j)" and pressure
    7070    ! level "plev(l)". "month" is between 1 and 12.)
    7171
    72     real, allocatable:: v_regr_lat(:, :, :) ! (jjm + 1, n_plev, 0:13)
     72    REAL, ALLOCATABLE:: v_regr_lat(:, :, :) ! (jjm + 1, n_plev, 0:13)
    7373    ! (mean of a variable "v" over a latitude interval)
    7474    ! (First dimension is latitude interval.
     
    8484    ! Last dimension is month number.)
    8585
    86     real, allocatable:: o3_par_out(:, :, :) ! (jjm + 1, n_plev, ndays)
     86    REAL, ALLOCATABLE:: o3_par_out(:, :, :) ! (jjm + 1, n_plev, ndays)
    8787    ! (regridded ozone parameter)
    8888    ! ("o3_par_out(j, l, day)" is at latitude "rlatu(j)", pressure
     
    9090    ! 360-day calendar.)
    9191
    92     integer j
    93     integer i_v ! index of ozone parameter
    94     integer, parameter:: n_o3_param = 8 ! number of ozone parameters
     92    INTEGER j
     93    INTEGER i_v ! index of ozone parameter
     94    INTEGER, parameter:: n_o3_param = 8 ! number of ozone parameters
    9595
    9696    CHARACTER(LEN=11) name_in(n_o3_param)
     
    100100    ! (name of NetCDF primary variable in the output file)
    101101
    102     integer varid_in(n_o3_param), varid_out(n_o3_param), varid_plev, varid_time
    103     integer ncerr, varid
     102    INTEGER varid_in(n_o3_param), varid_out(n_o3_param), varid_plev, varid_time
     103    INTEGER ncerr, varid
    104104    ! (for NetCDF)
    105105
    106     real, parameter:: tmidmonth(0:13) = (/(-15. + 30. * j, j = 0, 13)/)
     106    REAL, parameter:: tmidmonth(0:13) = (/(-15. + 30. * j, j = 0, 13)/)
    107107    ! (time to middle of month, in days since January 1st 0h, in a
    108108    ! 360-day calendar)
     
    110110    ! interpolated between the December and the January value.)
    111111
    112     real, parameter:: tmidday(360) = (/(j + 0.5, j = 0, 359)/)
     112    REAL, parameter:: tmidday(360) = (/(j + 0.5, j = 0, 359)/)
    113113    ! (time to middle of day, in days since January 1st 0h, in a
    114114    ! 360-day calendar)
     
    165165    ! ascending order, so invert order if necessary:
    166166    desc_lat = latitude(1) > latitude(n_lat)
    167     if (desc_lat) latitude = latitude(n_lat:1:-1)
     167    IF (desc_lat) latitude = latitude(n_lat:1:-1)
    168168
    169169    ! Compute edges of latitude intervals:
     
    202202
    203203       CALL nf95_get_var(ncid_in, varid_in(i_v), o3_par_in)
    204        if (desc_lat) o3_par_in = o3_par_in(n_lat:1:-1, :, :)
     204       IF (desc_lat) o3_par_in = o3_par_in(n_lat:1:-1, :, :)
    205205
    206206       ! Regrid in latitude:
     
    240240    ! dimensions and variables, and writes one of the coordinate variables.
    241241
    242     use lmdz_grid_phy, ONLY: nbp_lat
    243     use lmdz_assert_eq, ONLY: assert_eq
    244 
    245     use netcdf95, ONLY: nf95_create, nf95_def_dim, nf95_def_var, &
     242    USE lmdz_grid_phy, ONLY: nbp_lat
     243    USE lmdz_assert_eq, ONLY: assert_eq
     244
     245    USE netcdf95, ONLY: nf95_create, nf95_def_dim, nf95_def_var, &
    246246         nf95_put_att, nf95_enddef, nf95_copy_att, nf95_put_var
    247     use netcdf, ONLY: nf90_clobber, nf90_float, nf90_copy_att, nf90_global
    248     use nrtype, ONLY: pi
    249     use lmdz_regular_lonlat, ONLY: lat_reg
    250 
    251     integer, intent(in):: ncid_in, varid_in(:), n_plev
    252     CHARACTER(LEN=*), intent(in):: name_out(:) ! of NetCDF variables
    253     integer, intent(out):: ncid_out, varid_out(:), varid_plev, varid_time
     247    USE netcdf, ONLY: nf90_clobber, nf90_float, nf90_copy_att, nf90_global
     248    USE lmdz_physical_constants, ONLY: pi
     249    USE lmdz_regular_lonlat, ONLY: lat_reg
     250
     251    INTEGER, INTENT(IN):: ncid_in, varid_in(:), n_plev
     252    CHARACTER(LEN=*), INTENT(IN):: name_out(:) ! of NetCDF variables
     253    INTEGER, INTENT(OUT):: ncid_out, varid_out(:), varid_plev, varid_time
    254254
    255255    ! Variables local to the procedure:
    256256
    257     integer ncerr
    258     integer dimid_rlatu, dimid_plev, dimid_time
    259     integer varid_rlatu
    260     integer i, n_o3_param
     257    INTEGER ncerr
     258    INTEGER dimid_rlatu, dimid_plev, dimid_time
     259    INTEGER varid_rlatu
     260    INTEGER i, n_o3_param
    261261
    262262    !---------------------------
     
    328328    SUBROUTINE handle_err_copy_att(att_name)
    329329
    330       use netcdf, ONLY: nf90_noerr, nf90_strerror
    331 
    332       CHARACTER(LEN=*), intent(in):: att_name
     330      USE netcdf, ONLY: nf90_noerr, nf90_strerror
     331
     332      CHARACTER(LEN=*), INTENT(IN):: att_name
    333333
    334334      !----------------------------------------
    335335
    336       if (ncerr /= nf90_noerr) THEN
     336      IF (ncerr /= nf90_noerr) THEN
    337337         print *, "prepare_out " // trim(name_out(i)) &
    338338              // " nf90_copy_att " // att_name // " -- " &
Note: See TracChangeset for help on using the changeset viewer.