Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes for FMS 2021.03 #369

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[submodule "atmos_cubed_sphere"]
path = atmos_cubed_sphere
url = https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere
branch = dev/emc
url = https://github.com/mlee03/GFDL_atmos_cubed_sphere.git
branch = mkl/fms2021.03
[submodule "ccpp/framework"]
path = ccpp/framework
url = https://github.com/NCAR/ccpp-framework
Expand Down
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ list(APPEND _fv3dycore_defs_private SPMD
GFS_TYPES
USE_GFSL63
MOIST_CAPPA
INTERNAL_FILE_NML
ENABLE_QUAD_PRECISION
USE_COND)

if(MULTI_GASES)
Expand Down
2 changes: 2 additions & 0 deletions atmos_model.F90
Original file line number Diff line number Diff line change
Expand Up @@ -652,6 +652,8 @@ subroutine atmos_model_init (Atmos, Time_init, Time, Time_step)
Init_parm%hydrostatic = Atm(mygrid)%flagstruct%hydrostatic

#ifdef INTERNAL_FILE_NML
! allocate required to work around GNU compiler bug 100886 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100886
allocate(Init_parm%input_nml_file, mold=input_nml_file)
Init_parm%input_nml_file => input_nml_file
Init_parm%fn_nml='using internal file'
#else
Expand Down
14 changes: 8 additions & 6 deletions ccpp/data/GFS_typedefs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -148,9 +148,9 @@ module GFS_typedefs
character(len=32), pointer :: tracer_names(:) !< tracers names to dereference tracer id
integer, pointer :: tracer_types(:) !< tracers types: 0=generic, 1=chem,prog, 2=chem,diag
character(len=64) :: fn_nml !< namelist filename
character(len=256), pointer :: input_nml_file(:) !< character string containing full namelist
!< for use with internal file reads
end type GFS_init_type
character(len=:), pointer, dimension(:) :: input_nml_file => null() !< character string containing full namelist
!< for use with internal file reads
end type GFS_init_type


!----------------------------------------------------------------
Expand Down Expand Up @@ -584,8 +584,8 @@ module GFS_typedefs
integer :: nthreads !< OpenMP threads available for physics
integer :: nlunit !< unit for namelist
character(len=64) :: fn_nml !< namelist filename for surface data cycling
character(len=256), pointer :: input_nml_file(:) !< character string containing full namelist
!< for use with internal file reads
character(len=:), pointer, dimension(:) :: input_nml_file => null() !< character string containing full namelist
!< for use with internal file reads
integer :: input_nml_file_length !< length (number of lines) in namelist for internal reads
integer :: logunit
real(kind=kind_phys) :: fhzero !< hours between clearing of diagnostic buckets
Expand Down Expand Up @@ -3065,7 +3065,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
integer, intent(in) :: nwat
character(len=32), intent(in) :: tracer_names(:)
integer, intent(in) :: tracer_types(:)
character(len=256), intent(in), pointer :: input_nml_file(:)
character(len=:), intent(in), dimension(:), pointer :: input_nml_file
integer, intent(in) :: blksz(:)
real(kind=kind_phys), dimension(:), intent(in) :: ak
real(kind=kind_phys), dimension(:), intent(in) :: bk
Expand Down Expand Up @@ -3693,6 +3693,8 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &

!--- read in the namelist
#ifdef INTERNAL_FILE_NML
! allocate required to work around GNU compiler bug 100886 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100886
allocate(Model%input_nml_file, mold=input_nml_file)
Model%input_nml_file => input_nml_file
read(Model%input_nml_file, nml=gfs_physics_nml)
! Set length (number of lines) in namelist for internal reads
Expand Down
Loading