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

Coupled model doesn't compile #511

Closed
kshedstrom opened this issue Jun 9, 2017 · 2 comments
Closed

Coupled model doesn't compile #511

kshedstrom opened this issue Jun 9, 2017 · 2 comments

Comments

@kshedstrom
Copy link
Collaborator

kshedstrom commented Jun 9, 2017

I don't always test this, but today I get:

mpif90 -Duse_libMPI -Duse_netCDF -DSPMD -DUSE_LOG_DIAG_FIELD_INFO -D_FILE_VERSION="`//center1/d/kate/ESMG/ESMG-configs/src/mkmf/bin/git-version-string //center1/d/kate/ESMG/ESMG-configs/src/coupler/atm_land_ice_flux_exchange.F90`" -DSTATSLABEL=\"gnu\" -DMAXFIELDMETHODS_=500 -Duse_AM3_physics   -fcray-pointer -fdefault-double-8 -fdefault-real-8 -Waliasing -ffree-line-length-none -fno-range-check -I/u1/uaf/kshedstrom/include  -I../../shared/repro  -c	//center1/d/kate/ESMG/ESMG-configs/src/coupler/atm_land_ice_flux_exchange.F90
mpif90 -Duse_libMPI -Duse_netCDF -DSPMD -DUSE_LOG_DIAG_FIELD_INFO -D_FILE_VERSION="`//center1/d/kate/ESMG/ESMG-configs/src/mkmf/bin/git-version-string //center1/d/kate/ESMG/ESMG-configs/src/coupler/ice_ocean_flux_exchange.F90`" -DSTATSLABEL=\"gnu\" -DMAXFIELDMETHODS_=500 -Duse_AM3_physics   -fcray-pointer -fdefault-double-8 -fdefault-real-8 -Waliasing -ffree-line-length-none -fno-range-check -I/u1/uaf/kshedstrom/include  -I../../shared/repro  -c	//center1/d/kate/ESMG/ESMG-configs/src/coupler/ice_ocean_flux_exchange.F90
//center1/d/kate/ESMG/ESMG-configs/src/coupler/atm_land_ice_flux_exchange.F90:475:69:

          "INPUT/grid_spec.nc", Atm%grid, lnd_ug_domain=Land%ug_domain)
                                                                     1
Error: ‘ug_domain’ at (1) is not a member of the ‘land_data_type’ structure
//center1/d/kate/ESMG/ESMG-configs/src/coupler/atm_land_ice_flux_exchange.F90:2573:65:

     call data_override_land ( 'LND', 't_ca',   Land%t_ca,   Time)
                                                                 1
Error: There is no specific subroutine for the generic ‘data_override_ug’ at (1)
//center1/d/kate/ESMG/ESMG-configs/src/coupler/atm_land_ice_flux_exchange.F90:2574:65:

     call data_override_land ( 'LND', 't_surf', Land%t_surf, Time)
                                                                 1
Error: There is no specific subroutine for the generic ‘data_override_ug’ at (1)
//center1/d/kate/ESMG/ESMG-configs/src/coupler/atm_land_ice_flux_exchange.F90:2578:69:

        call data_override_land('LND', trim(tr_name)//'_surf', Land%tr(:,:,tr), Time)
                                                                     1
Error: Rank mismatch in array reference at (1) (3/4)
//center1/d/kate/ESMG/ESMG-configs/src/coupler/atm_land_ice_flux_exchange.F90:2590:72:

     call put_to_xgrid_land (Land%t_ca,   'LND', ex_t_ca_new,   xmap_sfc)
                                                                        1

chinook01 798% gfortran --version
GNU Fortran (GCC) 5.4.0

@MJHarrison-GFDL
Copy link
Contributor

You need to pass an additional cpp directive "-D_USE_LEGACY_LAND_" for coupled experiments.

@kshedstrom
Copy link
Collaborator Author

Oops, thanks, that did the trick!

marshallward pushed a commit to marshallward/MOM6 that referenced this issue Nov 7, 2023
* This commit fixes a bug where restarts were not bitwise identical for coupled ice sheet/ocean runs. This required adding visc%taux and visc%taux (stress on the ocean under ice shelves) to the ocean restart file. Furthermore, ice shelf geometry-related variables needed to be updated and their halo cells filled (within subroutine update_ice_shelf) before (rather than after) calculating shelf fluxes and pressure to the ocean (subroutine add_shelf_flux). Also fixed a bug to calculate ISS%mass_shelf properly in ice-shelf cells that are only partially-filled (ice-shelf area < cell area) due to advection of the ice-shelf front.

* Modified the scheme that attempts to enforce a constant sea level in coupled ice-sheet/ocean runs, where balancing fluxes are applied to part/all of the open ocean to offset the sea level effects caused by changes in ice sheet mass on the ocean. The old scheme assumes the entire ice sheet is floating, and is retained here for the case where CS$override_shelf_movement==.true. and CS%mass_from_file (this approach is used for the MISOMIP tests without a dynamic ice sheet). The new scheme (which is needed for the MISOMIP tests with a dynamic ice sheet, e.g. IceOcean1r and IceOcean1a), accounts for the more general case where some of the ice sheet is grounded. In either case, the ocean balancing fluxes are applied over the entirety of the ice-sheet-free ocean by default. However, if the new parameter CONST_SEA_LEVEL_MISOMIP==.true., the balancing flux is only applied where x>=790 km, which is the sponge region for the MISOMIP tests.

The new scheme also requires calculation of ice sheet dHdT, which is now calculated and optionally saved as a useful diagnositc field for any ice sheet simulation.

* Eliminated array syntax and added inverse dt variables where needed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants