[mpas-developers] new subroutine call in mpas.F

Michael Duda duda at ucar.edu
Tue Oct 19 11:55:21 MDT 2010


Hi, Mark.

What you've proposed below sounds reasonable, and I have no objections
to committing the changes. Just for your consideration, though, one other 
possible approach would be to pass the dminfo type as a new argument
to mpas_init().

Cheers,
Michael


On Mon, Oct 18, 2010 at 04:49:56PM -0600, Mark Petersen wrote:
> MPAS developers,
> 
> I would like to add a new subroutine call to mpas.F.  This affects all
> cores, so I need consent from other developers before I change the
> trunk.
> 
> The new routine, mpas_init_domain, would be used to initialize grid
> variables that are not in the netcdf input file.  For example, we
> compute maxLevelEdge and maxLevelVertex as derived quantities from a
> maxLevelCell variable in the ocean core.  This cannot be done in
> mpas_setup_test_case because it needs to be done on restarts.  It
> cannot be done in mpas_init because I need to do a halo update on
> these variables, and mpas_init is called by block.
> 
> I welcome any feedback or other ideas.
> 
> Mark
> 
> The changes would be:
> 
> lo1-fe> pwd
> /usr/projects/climate/mpeterse/coy/mpas_100603/trunk/mpas
> lo1-fe> svn update
> At revision 565.
> lo1-fe> svn diff
> Index: src/driver/mpas.F
> ===================================================================
> --- src/driver/mpas.F   (revision 565)
> +++ src/driver/mpas.F   (working copy)
> @@ -32,6 +32,8 @@
> 
>      call input_state_for_domain(domain)
> 
> +   call mpas_init_domain(domain)
> +
>      if (.not. config_do_restart) call mpas_setup_test_case(domain)
>      call timer_stop("initialize")
> 
> Index: src/core_hyd_atmos/mpas_interface.F
> ===================================================================
> --- src/core_hyd_atmos/mpas_interface.F (revision 565)
> +++ src/core_hyd_atmos/mpas_interface.F (working copy)
> @@ -12,6 +12,20 @@
>   end subroutine mpas_setup_test_case
> 
> 
> +subroutine mpas_init_domain(domain)
> +! Initialize grid variables that are computed from the netcdf input file.
> +
> +   use grid_types
> +
> +   implicit none
> +
> +   type (domain_type), intent(inout) :: domain
> +
> +   ! This is currently a stub.
> +
> +end subroutine mpas_init_domain
> +
> +
>   subroutine mpas_init(block, mesh, dt)
> 
>      use grid_types
> Index: src/core_sw/mpas_interface.F
> ===================================================================
> --- src/core_sw/mpas_interface.F        (revision 565)
> +++ src/core_sw/mpas_interface.F        (working copy)
> @@ -12,6 +12,20 @@
>   end subroutine mpas_setup_test_case
> 
> 
> +subroutine mpas_init_domain(domain)
> +! Initialize grid variables that are computed from the netcdf input file.
> +
> +   use grid_types
> +
> +   implicit none
> +
> +   type (domain_type), intent(inout) :: domain
> +
> +   ! This is currently a stub.
> +
> +end subroutine mpas_init_domain
> +
> +
>   subroutine mpas_init(block, mesh, dt)
> 
>      use grid_types
> Index: src/core_ocean/mpas_interface.F
> ===================================================================
> --- src/core_ocean/mpas_interface.F     (revision 565)
> +++ src/core_ocean/mpas_interface.F     (working copy)
> @@ -11,7 +11,19 @@
> 
>   end subroutine mpas_setup_test_case
> 
> +subroutine mpas_init_domain(domain)
> +! Initialize grid variables that are computed from the netcdf input file.
> 
> +   use grid_types
> +
> +   implicit none
> +
> +   type (domain_type), intent(inout) :: domain
> +
> +   ! This is currently a stub.
> +
> +end subroutine mpas_init_domain
> +
>   subroutine mpas_init(block, mesh, dt)
> 
>      use grid_types
> 
> 
> 
> 
> _______________________________________________
> mpas-developers mailing list
> mpas-developers at mailman.ucar.edu
> http://mailman.ucar.edu/mailman/listinfo/mpas-developers


More information about the mpas-developers mailing list