Changeset 6122 for LMDZ6/trunk/libf
- Timestamp:
- Mar 23, 2026, 11:30:30 PM (9 days ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 2 edited
-
open_climoz_m.f90 (modified) (4 diffs)
-
physiq_mod.F90 (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/open_climoz_m.f90
r6121 r6122 14 14 USE netcdf95, ONLY: nf95_open, nf95_close, nf95_gw_var, nf95_inq_varid 15 15 USE netcdf, ONLY: nf90_nowrite 16 use mod_phys_lmdz_omp_data, only: is_omp_root 16 17 USE mod_phys_lmdz_mpi_data, ONLY: is_mpi_root 17 USE mod_phys_lmdz_ mpi_transfert, ONLY: bcast_mpi18 USE mod_phys_lmdz_transfert_para, ONLY: bcast 18 19 USE phys_cal_mod, ONLY: calend, year_len, year_cur 19 20 !------------------------------------------------------------------------------- … … 26 27 !------------------------------------------------------------------------------- 27 28 INTEGER, INTENT(OUT):: ncid !--- "climoz_LMDZ.nc" identifier 28 ! Following arguments are OpenMP shared:29 29 REAL, allocatable, intent(out):: press_in_cen(:) !--- at cells centers 30 30 REAL, allocatable, INTENT(OUT):: press_in_edg(:) !--- at the interfaces (pressure intervals) … … 44 44 WRITE(lunout,*)"Entering routine "//TRIM(sub) 45 45 46 IF (is_mpi_root) THEN46 IF (is_mpi_root .and. is_omp_root) THEN 47 47 48 48 !--- OPEN FILE, READ PRESSURE LEVELS AND TIME VECTOR … … 87 87 WRITE(lunout,*)TRIM(sub)//': Interpolating O3 field directly on gcm levels.' 88 88 END IF 89 END IF 89 90 90 END IF 91 CALL bcast_mpi(nlev) 92 IF(.NOT.is_mpi_root) ALLOCATE(press_in_cen(nlev )); CALL bcast_mpi(press_in_cen) 93 IF(.NOT.is_mpi_root) ALLOCATE(press_in_edg(nlev+1)); CALL bcast_mpi(press_in_edg) 94 CALL bcast_mpi(ntim) 95 IF(.NOT.is_mpi_root) ALLOCATE(time_in(ntim)); CALL bcast_mpi(time_in) 91 CALL bcast(nlev) 92 CALL bcast(ntim) 93 94 IF (.NOT. is_mpi_root .or. .not. is_omp_root) then 95 ALLOCATE(press_in_cen(nlev )) 96 ALLOCATE(press_in_edg(nlev+1)) 97 ALLOCATE(time_in(ntim)) 98 end IF 99 100 CALL bcast(press_in_cen) 101 CALL bcast(press_in_edg) 102 CALL bcast(time_in) 96 103 97 104 END SUBROUTINE open_climoz -
LMDZ6/trunk/libf/phylmd/physiq_mod.F90
r6120 r6122 1070 1070 ! climatology and the daylight climatology 1071 1071 INTEGER,SAVE :: ncid_climoz ! NetCDF file identifier 1072 !$OMP THREADPRIVATE(read_climoz, ncid_climoz)1073 1074 ! Following variables are OpenMP shared1075 1072 REAL, ALLOCATABLE, SAVE :: press_cen_climoz(:) ! Pressure levels 1076 1073 REAL, ALLOCATABLE, SAVE :: press_edg_climoz(:) ! Edges of pressure intervals 1077 1074 REAL, ALLOCATABLE, SAVE :: time_climoz(:) ! Time vector 1075 !$OMP THREADPRIVATE(read_climoz, ncid_climoz, press_cen_climoz) 1076 !$OMP THREADPRIVATE(press_edg_climoz, time_climoz) 1078 1077 1079 1078 CHARACTER(LEN=13), PARAMETER :: vars_climoz(2) & … … 2124 2123 ENDIF 2125 2124 2126 !$omp master2127 2125 IF (read_climoz >= 1) CALL open_climoz(ncid_climoz, press_cen_climoz, & 2128 2126 press_edg_climoz, time_climoz, ok_daily_climoz, adjust_tropopause) 2129 !$omp end master2130 2127 ! 2131 2128 !IM betaCRF
Note: See TracChangeset
for help on using the changeset viewer.
