├── input_templates ├── tx1v1_transport_contents ├── gx1v6_movie_contents ├── gx1v7_movie_contents ├── gx3v5_movie_contents ├── gx3v7_movie_contents ├── tx1v1_movie_contents ├── gx1v6_history_contents ├── gx1v6_niw_tavg_contents ├── gx1v7_history_contents ├── gx1v7_niw_tavg_contents ├── gx3v5_history_contents ├── gx3v7_history_contents ├── tx0.1v2_history_contents ├── tx0.1v3_history_contents ├── tx1v1_history_contents ├── test_sample_history_contents ├── tx1v1_region_ids ├── tx0.1v2_movie_contents ├── tx0.1v3_movie_contents ├── test_sample_movie_contents ├── test_sample_transport_file ├── submeso_terms_tavg_contents ├── gm_bolus_terms_tavg_contents ├── gx3v5_depth_accel ├── tavg_contents_tracer_budget_terms ├── gx3v5_transport_contents ├── gx3v7_transport_contents ├── submeso_terms_tavg_contents_high_freq ├── gm_bolus_terms_tavg_contents_high_freq ├── user_nl_marbl ├── tx1v1_tavg_contents ├── tx0.1v2_tavg_contents ├── gx3v7_depth_accel ├── tx1v1_depth_accel ├── tx0.1v3_tavg_contents ├── gx1v6_transport_contents ├── gx1v7_transport_contents ├── test_sample_tavg_contents ├── gx1v7_region_ids ├── tx0.1v3_region_ids ├── gx1v6_depth_accel ├── gx1v7_depth_accel ├── tx0.1v2_depth_accel ├── gx1v6_region_ids ├── gx3v5_region_ids ├── tx0.1v3_depth_accel ├── tx0.1v2_region_ids ├── tx0.1v2_vert_grid ├── gx3v7_region_ids ├── gx1v6_1D_tavg_contents ├── gx1v7_1D_tavg_contents ├── gx3v7_1D_tavg_contents ├── gx3v5_vert_grid ├── gx3v5_tavg_contents ├── ocn.sf6.tavg.csh ├── gx3v7_tavg_contents ├── tx0.1v3_vert_grid ├── ocn.iage.tavg.csh ├── gx1v6_tavg_contents ├── gx1v7_tavg_contents ├── ocn.base.tavg.csh ├── ocn.base.tavg.csh.nstep ├── ocn.cfc.tavg.csh ├── tx1v1_vert_grid ├── gx1v6_domain_size.F90 ├── gx1v7_domain_size.F90 ├── tx1v1_domain_size.F90 ├── gx3v5_domain_size.F90 ├── tx0.1v2_domain_size.F90 ├── tx0.1v3_domain_size.F90 ├── test_domain_size.F90 ├── gx3v7_domain_size.F90 ├── gx1v6_POP_DomainSizeMod.F90 ├── gx1v7_POP_DomainSizeMod.F90 ├── gx3v5_POP_DomainSizeMod.F90 ├── gx3v7_POP_DomainSizeMod.F90 ├── tx1v1_POP_DomainSizeMod.F90 ├── tx0.1v2_POP_DomainSizeMod.F90 ├── tx0.1v3_POP_DomainSizeMod.F90 ├── gx1v6_tavg_contents_high_freq ├── gx1v7_tavg_contents_high_freq ├── test_POP_DomainSizeMod.F90 ├── ocn.mcog.tavg.csh ├── ocn.IRF.tavg.csh ├── ocn.abio_dic_dic14.tavg.csh ├── gx1v6_vert_grid ├── gx1v7_vert_grid └── gx3v7_vert_grid ├── externals └── manage_externals │ ├── test │ ├── doc │ │ ├── .gitignore │ │ ├── index.rst │ │ └── Makefile │ ├── repos │ │ ├── container.git │ │ │ ├── HEAD │ │ │ ├── refs │ │ │ │ └── heads │ │ │ │ │ └── master │ │ │ ├── description │ │ │ ├── config │ │ │ ├── objects │ │ │ │ ├── 41 │ │ │ │ │ └── 1de5d96ee418c1c55f3e96e6e6e7c06bb95801 │ │ │ │ ├── 71 │ │ │ │ │ └── 5b8f3e4afe1802a178e1d603af404ba45d59de │ │ │ │ ├── b0 │ │ │ │ │ └── f87705e2b9601cb831878f3d51efa78b910d7b │ │ │ │ └── f9 │ │ │ │ │ └── e08370a737e941de6f6492e3f427c2ef4c1a03 │ │ │ └── info │ │ │ │ └── exclude │ │ ├── mixed-cont-ext.git │ │ │ ├── HEAD │ │ │ ├── refs │ │ │ │ └── heads │ │ │ │ │ ├── master │ │ │ │ │ └── new-feature │ │ │ ├── description │ │ │ ├── config │ │ │ ├── objects │ │ │ │ ├── 14 │ │ │ │ │ └── 368b701616a8c53820b610414a4b9a07540cf6 │ │ │ │ ├── 15 │ │ │ │ │ └── 2b57e1cf23721cd17ff681cb9276e3fb9fc091 │ │ │ │ ├── 37 │ │ │ │ │ └── f0e70b609adc90f4c09ee21d82ed1d79c81d69 │ │ │ │ ├── 38 │ │ │ │ │ └── 9a2b876b8965d3c91a3db8d28a483eaf019d5c │ │ │ │ ├── 41 │ │ │ │ │ └── 1de5d96ee418c1c55f3e96e6e6e7c06bb95801 │ │ │ │ ├── 93 │ │ │ │ │ └── a159deb9175bfeb2820a0006ddd92d78131332 │ │ │ │ ├── 95 │ │ │ │ │ └── 80ecc12f16334ce44e42287d5d46f927bb7b75 │ │ │ │ ├── 00 │ │ │ │ │ └── 437ac2000d5f06fb8a572a01a5bbdae98b17cb │ │ │ │ ├── 01 │ │ │ │ │ └── 97458f2dbe5fcd6bc44fa46983be0a30282379 │ │ │ │ ├── 06 │ │ │ │ │ └── ea30b03ffa2f8574705f8b9583f7ca7e2dccf7 │ │ │ │ ├── 1f │ │ │ │ │ └── 01fa46c17b1f38b37e6259f6e9d041bda3144f │ │ │ │ ├── 6e │ │ │ │ │ └── 9f4baa6e94a0af4e094836c2eb55ccedef5fc4 │ │ │ │ ├── 6f │ │ │ │ │ └── c379457ecb4e576a13c7610ae1fa73f845ee6a │ │ │ │ ├── a9 │ │ │ │ │ └── 288dcd8a719a1f4ed3cba43a2a387ae7cd60fd │ │ │ │ ├── e8 │ │ │ │ │ └── ea32a11d30ee703f6f661ae7c2376f4ab84d38 │ │ │ │ └── fd │ │ │ │ │ └── 15a5ad5204356229c60a831d2a8120a43ac901 │ │ │ └── info │ │ │ │ └── exclude │ │ ├── simple-ext.git │ │ │ ├── HEAD │ │ │ ├── refs │ │ │ │ ├── tags │ │ │ │ │ └── tag1 │ │ │ │ └── heads │ │ │ │ │ ├── feature2 │ │ │ │ │ ├── feature3 │ │ │ │ │ └── master │ │ │ ├── description │ │ │ ├── config │ │ │ ├── objects │ │ │ │ ├── 11 │ │ │ │ │ └── a76e3d9a67313dec7ce1230852ab5c86352c5c │ │ │ │ ├── 31 │ │ │ │ │ └── dbcd6de441e671a467ef317146539b7ffabb11 │ │ │ │ ├── 36 │ │ │ │ │ └── 418b4e5665956a90725c9a1b5a8e551c5f3d48 │ │ │ │ ├── 41 │ │ │ │ │ └── 1de5d96ee418c1c55f3e96e6e6e7c06bb95801 │ │ │ │ ├── 60 │ │ │ │ │ └── b1cc1a38d63a4bcaa1e767262bbe23dbf9f5f5 │ │ │ │ ├── 63 │ │ │ │ │ └── a99393d1baff97ccef967af30380659867b139 │ │ │ │ ├── 95 │ │ │ │ │ └── 3256da5612fcd9263590a353bc18c6f224e74f │ │ │ │ ├── 00 │ │ │ │ │ └── fd13e76189f9134b0506b4b8ed3172723b467f │ │ │ │ ├── 09 │ │ │ │ │ └── 0e1034746b2c865f7b0280813dbf4061a700e8 │ │ │ │ ├── 0b │ │ │ │ │ └── 15e8af3d4615b42314216efeae3fff184046a8 │ │ │ │ ├── 9b │ │ │ │ │ └── 75494003deca69527bb64bcaa352e801611dd2 │ │ │ │ ├── a2 │ │ │ │ │ └── 2a5da9119328ea6d693f88861457c07e14ac04 │ │ │ │ ├── c5 │ │ │ │ │ └── b315915742133dbdfbeed0753e481b55c1d364 │ │ │ │ └── df │ │ │ │ │ └── 312890f93ba4d2c694208599b665c4a08afeff │ │ │ └── info │ │ │ │ └── exclude │ │ ├── simple-ext-fork.git │ │ │ ├── HEAD │ │ │ ├── refs │ │ │ │ ├── heads │ │ │ │ │ └── feature2 │ │ │ │ └── tags │ │ │ │ │ ├── abandoned-feature │ │ │ │ │ └── forked-feature-v1 │ │ │ ├── description │ │ │ ├── objects │ │ │ │ ├── 11 │ │ │ │ │ └── a76e3d9a67313dec7ce1230852ab5c86352c5c │ │ │ │ ├── 16 │ │ │ │ │ └── 5506a7408a482f50493434e13fffeb44af893f │ │ │ │ ├── 24 │ │ │ │ │ └── 4386e788c9bc608613e127a329c742450a60e4 │ │ │ │ ├── 32 │ │ │ │ │ └── 7e97d86e941047d809dba58f2804740c6c30cf │ │ │ │ ├── 36 │ │ │ │ │ └── 418b4e5665956a90725c9a1b5a8e551c5f3d48 │ │ │ │ ├── 41 │ │ │ │ │ └── 1de5d96ee418c1c55f3e96e6e6e7c06bb95801 │ │ │ │ ├── 56 │ │ │ │ │ └── 175e017ad38bf3d33d74b6bd7c74624b28466a │ │ │ │ ├── 67 │ │ │ │ │ └── 136e5ab4d5c1c65d10c8048763b96b0e53c1d6 │ │ │ │ ├── 88 │ │ │ │ │ └── cf20868e0cc445f5642a480ed034c71e0d7e9f │ │ │ │ ├── 00 │ │ │ │ │ └── fd13e76189f9134b0506b4b8ed3172723b467f │ │ │ │ ├── 0b │ │ │ │ │ ├── 15e8af3d4615b42314216efeae3fff184046a8 │ │ │ │ │ └── 67df4e7e8e6e1c6e401542738b352d18744677 │ │ │ │ ├── 3d │ │ │ │ │ ├── 7099c35404ae6c8640ce263b38bef06e98cc26 │ │ │ │ │ └── ec1fdf8e2f5edba28148c5db2fe8d7a842360b │ │ │ │ ├── 4d │ │ │ │ │ └── 837135915ed93eed6fff6b439f284ce317296f │ │ │ │ ├── 5f │ │ │ │ │ └── 1d4786d12e52d7ab28d2f2f1118c1059a9f1ae │ │ │ │ ├── 7b │ │ │ │ │ └── 0bd630ac13865735a1dff3437a137d8ab50663 │ │ │ │ ├── 8d │ │ │ │ │ └── 2b3b35126224c975d23f109aa1e3cbac452989 │ │ │ │ ├── 9b │ │ │ │ │ └── 75494003deca69527bb64bcaa352e801611dd2 │ │ │ │ ├── a2 │ │ │ │ │ └── 2a5da9119328ea6d693f88861457c07e14ac04 │ │ │ │ ├── a4 │ │ │ │ │ └── 2fe9144f5707bc1e9515ce1b44681f7aba6f95 │ │ │ │ ├── b9 │ │ │ │ │ └── 3737be3ea6b19f6255983748a0a0f4d622f936 │ │ │ │ ├── c5 │ │ │ │ │ ├── 32bc8fde96fa63103a52057f0baffcc9f00c6b │ │ │ │ │ └── b315915742133dbdfbeed0753e481b55c1d364 │ │ │ │ └── f2 │ │ │ │ │ └── 68d4e56d067da9bd1d85e55bdc40a8bd2b0bca │ │ │ ├── info │ │ │ │ └── exclude │ │ │ ├── packed-refs │ │ │ └── config │ │ └── error │ │ │ └── readme.txt │ ├── requirements.txt │ ├── .gitignore │ ├── .coveragerc │ └── README.md │ ├── manic │ ├── __init__.py │ ├── global_constants.py │ └── repository_factory.py │ ├── .gitignore │ ├── .dir_locals.el │ ├── .github │ ├── ISSUE_TEMPLATE.md │ └── PULL_REQUEST_TEMPLATE.md │ ├── .travis.yml │ ├── checkout_externals │ ├── README_FIRST │ └── LICENSE.txt ├── cime_config └── testdefs │ └── testmods_dirs │ └── pop │ ├── cice │ ├── include_user_mods │ └── shell_commands │ ├── ciso │ ├── include_user_mods │ └── user_nl_marbl │ ├── ecosys │ ├── include_user_mods │ └── user_nl_pop │ ├── omip │ ├── include_user_mods │ ├── user_nl_pop │ └── shell_commands │ ├── 5day_tavg │ ├── include_user_mods │ └── user_nl_pop │ ├── cfc_sf6 │ ├── include_user_mods │ ├── user_nl_pop │ └── shell_commands │ ├── ciso_transient │ ├── include_user_mods │ └── user_nl_pop │ ├── no_cvmix │ ├── include_user_mods │ └── user_nl_pop │ ├── presaero │ ├── include_user_mods │ └── shell_commands │ ├── abio_dic_dic14 │ ├── include_user_mods │ └── shell_commands │ ├── ecosys_add_4p2z │ ├── include_user_mods │ └── shell_commands │ ├── ecosys_add_cocco │ ├── include_user_mods │ └── shell_commands │ ├── ecosys_fixed_PtoC │ ├── include_user_mods │ └── user_nl_marbl │ ├── cice_ciso │ └── include_user_mods │ ├── ciso_daily_r4_tavg │ ├── user_nl_marbl │ └── include_user_mods │ ├── ecosys_box_atm_co2 │ ├── include_user_mods │ ├── user_nl_pop │ └── shell_commands │ ├── ecosys_spectra_pfts │ ├── include_user_mods │ └── shell_commands │ ├── cice_ecosys │ └── include_user_mods │ ├── default │ ├── shell_commands │ └── user_nl_pop │ ├── ecosys_daily_r4_tavg │ ├── include_user_mods │ └── user_nl_pop │ ├── ecosys_dust_flux_driver │ ├── include_user_mods │ └── user_nl_pop │ ├── ecosys_ladjust_bury_coeff │ ├── include_user_mods │ └── user_nl_marbl │ ├── ecosys_read_fallback_gx3v7 │ ├── include_user_mods │ └── user_nl_pop │ ├── 144blocks_320x384_spacecurve │ ├── include_user_mods │ └── shell_commands │ ├── 81blocks_100x116_spacecurve │ ├── include_user_mods │ └── shell_commands │ ├── abio_dic_dic14_ltavg_NK │ ├── include_user_mods │ └── user_nl_pop │ ├── abio_dic_dic14_presaero │ ├── include_user_mods │ └── shell_commands │ ├── abio_dic_dic14_transient │ ├── include_user_mods │ └── user_nl_pop │ ├── ecosys_multiinst_lsource_sink │ ├── include_user_mods │ ├── user_nl_marbl_0001 │ └── user_nl_marbl_0002 │ ├── ecosys_ocn_transient_1850_2000 │ ├── include_user_mods │ └── shell_commands │ ├── ecosys_5day_tavg │ └── include_user_mods │ ├── performance_eval │ ├── shell_commands │ ├── user_nl_marbl │ └── user_nl_pop │ ├── ciso_abio_dic_dic14 │ └── include_user_mods │ ├── highres_JRA_cice │ ├── include_user_mods │ ├── user_nl_cice │ └── shell_commands │ ├── hires_core2_cheyenne │ ├── user_nl_pop │ └── shell_commands │ ├── cice_ecosys_dust_flux_driver │ └── include_user_mods │ ├── cice_ecosys_ladjust_bury_coeff │ └── include_user_mods │ ├── daily_r4_tavg │ └── user_nl_pop │ ├── hires_jra_cheyenne │ ├── user_nl_pop │ └── shell_commands │ ├── cice_ecosys_apply_nhx_surface_emis │ └── include_user_mods │ ├── ecosys_144blocks_320x384_spacecurve │ └── include_user_mods │ ├── ecosys_81blocks_100x116_spacecurve │ └── include_user_mods │ ├── ciso_transient_abio_dic_dic14_transient │ └── include_user_mods │ ├── 5day_r4_tavg │ └── user_nl_pop │ ├── ecosys_3steps │ ├── shell_commands │ └── user_nl_pop │ └── default_spacecurve │ ├── user_nl_pop │ └── shell_commands ├── drivers ├── mct │ ├── ocn_communicator.F90 │ └── POP_MCT_vars_mod.F90 └── nuopc │ ├── ocn_communicator.F90 │ └── ocn_comp_shr.F90 ├── Externals.cfg ├── test └── unit │ ├── blockDistribution │ ├── pop_in │ ├── blockDistTest │ └── POP_DomainSizeMod.F90 │ ├── time_management │ ├── source │ │ ├── README │ │ ├── domain_size.F90 │ │ └── POP_DomainSizeMod.F90 │ └── pop2_in │ ├── broadcast │ ├── bcastTestSerial │ └── bcastTestMPI │ ├── redistribute │ ├── redistTestSerial │ ├── redistTestMPI │ └── POP_DomainSizeMod.F90 │ ├── reduction │ ├── reductionTestSerial │ ├── reductionTestMPI │ └── POP_DomainSizeMod.F90 │ └── halo │ ├── haloTestSerial │ ├── haloTestMPI │ └── POP_DomainSizeMod.F90 ├── MARBL_scripts ├── MARBL_wrappers │ └── __init__.py └── add_cocco_to_init.py ├── .github ├── ISSUE_TEMPLATE.md └── PULL_REQUEST_TEMPLATE.md ├── README.md ├── tools ├── postrun_proc │ └── README └── README ├── Externals_POP.cfg ├── .gitignore ├── bld ├── check_decomp.csh └── regen_list.csh ├── README_EXTERNALS └── source ├── tracer_types.F90 ├── kinds_mod.F90 ├── qflux_mod.F90 ├── schmidt_number.F90 └── POP_GridVertMod.F90 /input_templates/tx1v1_transport_contents: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /input_templates/gx1v6_movie_contents: -------------------------------------------------------------------------------- 1 | 1 2 | 6 TEMP 3 | -------------------------------------------------------------------------------- /input_templates/gx1v7_movie_contents: -------------------------------------------------------------------------------- 1 | 1 2 | 6 TEMP 3 | -------------------------------------------------------------------------------- /input_templates/gx3v5_movie_contents: -------------------------------------------------------------------------------- 1 | 1 2 | 6 TEMP 3 | -------------------------------------------------------------------------------- /input_templates/gx3v7_movie_contents: -------------------------------------------------------------------------------- 1 | 1 2 | 6 TEMP 3 | -------------------------------------------------------------------------------- /input_templates/tx1v1_movie_contents: -------------------------------------------------------------------------------- 1 | 1 2 | 6 TEMP 3 | -------------------------------------------------------------------------------- /externals/manage_externals/test/doc/.gitignore: -------------------------------------------------------------------------------- 1 | _build 2 | 3 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/cice/include_user_mods: -------------------------------------------------------------------------------- 1 | ../default 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ciso/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ciso/user_nl_marbl: -------------------------------------------------------------------------------- 1 | ciso_on = .true. 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys/include_user_mods: -------------------------------------------------------------------------------- 1 | ../default 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/omip/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/5day_tavg/include_user_mods: -------------------------------------------------------------------------------- 1 | ../default 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/cfc_sf6/include_user_mods: -------------------------------------------------------------------------------- 1 | ../default 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ciso_transient/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ciso 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/no_cvmix/include_user_mods: -------------------------------------------------------------------------------- 1 | ../default 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/no_cvmix/user_nl_pop: -------------------------------------------------------------------------------- 1 | lcvmix = .false. 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/presaero/include_user_mods: -------------------------------------------------------------------------------- 1 | ../default 2 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/container.git/HEAD: -------------------------------------------------------------------------------- 1 | ref: refs/heads/master 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/abio_dic_dic14/include_user_mods: -------------------------------------------------------------------------------- 1 | ../default 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys/user_nl_pop: -------------------------------------------------------------------------------- 1 | lecosys_tavg_all = .true. 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_add_4p2z/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_add_cocco/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_fixed_PtoC/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys 2 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/HEAD: -------------------------------------------------------------------------------- 1 | ref: refs/heads/master 2 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/HEAD: -------------------------------------------------------------------------------- 1 | ref: refs/heads/master 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/cice_ciso/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ciso 2 | ../cice 3 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ciso_daily_r4_tavg/user_nl_marbl: -------------------------------------------------------------------------------- 1 | ciso_on = .true. 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_box_atm_co2/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_spectra_pfts/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys 2 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/HEAD: -------------------------------------------------------------------------------- 1 | ref: refs/heads/master 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/cice_ecosys/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys 2 | ../cice 3 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/default/shell_commands: -------------------------------------------------------------------------------- 1 | ./xmlchange POP_TAVG_R8=TRUE 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_daily_r4_tavg/include_user_mods: -------------------------------------------------------------------------------- 1 | ../daily_r4_tavg 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_dust_flux_driver/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_fixed_PtoC/user_nl_marbl: -------------------------------------------------------------------------------- 1 | lvariable_PtoC=.false. 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_ladjust_bury_coeff/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_read_fallback_gx3v7/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/144blocks_320x384_spacecurve/include_user_mods: -------------------------------------------------------------------------------- 1 | ../default 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/81blocks_100x116_spacecurve/include_user_mods: -------------------------------------------------------------------------------- 1 | ../default 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/abio_dic_dic14_ltavg_NK/include_user_mods: -------------------------------------------------------------------------------- 1 | ../abio_dic_dic14 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/abio_dic_dic14_presaero/include_user_mods: -------------------------------------------------------------------------------- 1 | ../abio_dic_dic14 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/abio_dic_dic14_transient/include_user_mods: -------------------------------------------------------------------------------- 1 | ../abio_dic_dic14 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ciso_daily_r4_tavg/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys_daily_r4_tavg 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_box_atm_co2/user_nl_pop: -------------------------------------------------------------------------------- 1 | atm_alt_co2_opt='box_atm_co2' 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_multiinst_lsource_sink/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_ocn_transient_1850_2000/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/presaero/shell_commands: -------------------------------------------------------------------------------- 1 | ./xmlchange DATM_PRESAERO=clim_1850 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_5day_tavg/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys 2 | ../5day_tavg 3 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_multiinst_lsource_sink/user_nl_marbl_0001: -------------------------------------------------------------------------------- 1 | lsource_sink = .true. -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/performance_eval/shell_commands: -------------------------------------------------------------------------------- 1 | ./xmlchange REST_OPTION='never' 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/abio_dic_dic14_ltavg_NK/user_nl_pop: -------------------------------------------------------------------------------- 1 | abio_dic_dic14_ltavg_NK = .true. 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ciso_abio_dic_dic14/include_user_mods: -------------------------------------------------------------------------------- 1 | ../abio_dic_dic14 2 | ../ciso 3 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_box_atm_co2/shell_commands: -------------------------------------------------------------------------------- 1 | ./xmlchange OCN_CO2_TYPE=box_atm_co2 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_ladjust_bury_coeff/user_nl_marbl: -------------------------------------------------------------------------------- 1 | ladjust_bury_coeff = .true. 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_multiinst_lsource_sink/user_nl_marbl_0002: -------------------------------------------------------------------------------- 1 | lsource_sink = .false. -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_spectra_pfts/shell_commands: -------------------------------------------------------------------------------- 1 | ./xmlchange OCN_BGC_CONFIG=SPECTRA1.0 -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/highres_JRA_cice/include_user_mods: -------------------------------------------------------------------------------- 1 | ../performance_eval 2 | ../cice 3 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/hires_core2_cheyenne/user_nl_pop: -------------------------------------------------------------------------------- 1 | dt_count = 600 2 | lcvmix = .false. 3 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/performance_eval/user_nl_marbl: -------------------------------------------------------------------------------- 1 | tracer_restore_vars = '','','','','' 2 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/refs/tags/tag1: -------------------------------------------------------------------------------- 1 | 11a76e3d9a67313dec7ce1230852ab5c86352c5c 2 | -------------------------------------------------------------------------------- /input_templates/gx1v6_history_contents: -------------------------------------------------------------------------------- 1 | 7 2 | SHGT 3 | UBTROP 4 | VBTROP 5 | UVEL 6 | VVEL 7 | TEMP 8 | SALT 9 | -------------------------------------------------------------------------------- /input_templates/gx1v6_niw_tavg_contents: -------------------------------------------------------------------------------- 1 | 1 KVNIW 2 | 1 N2 3 | 1 BFNIW 4 | 1 KVNIW_M 5 | 1 KE_BL 6 | 1 En 7 | -------------------------------------------------------------------------------- /input_templates/gx1v7_history_contents: -------------------------------------------------------------------------------- 1 | 7 2 | SHGT 3 | UBTROP 4 | VBTROP 5 | UVEL 6 | VVEL 7 | TEMP 8 | SALT 9 | -------------------------------------------------------------------------------- /input_templates/gx1v7_niw_tavg_contents: -------------------------------------------------------------------------------- 1 | 1 KVNIW 2 | 1 N2 3 | 1 BFNIW 4 | 1 KVNIW_M 5 | 1 KE_BL 6 | 1 En 7 | -------------------------------------------------------------------------------- /input_templates/gx3v5_history_contents: -------------------------------------------------------------------------------- 1 | 7 2 | SHGT 3 | UBTROP 4 | VBTROP 5 | UVEL 6 | VVEL 7 | TEMP 8 | SALT 9 | -------------------------------------------------------------------------------- /input_templates/gx3v7_history_contents: -------------------------------------------------------------------------------- 1 | 7 2 | SHGT 3 | UBTROP 4 | VBTROP 5 | UVEL 6 | VVEL 7 | TEMP 8 | SALT 9 | -------------------------------------------------------------------------------- /input_templates/tx0.1v2_history_contents: -------------------------------------------------------------------------------- 1 | 7 2 | SHGT 3 | UBTROP 4 | VBTROP 5 | UVEL 6 | VVEL 7 | TEMP 8 | SALT 9 | -------------------------------------------------------------------------------- /input_templates/tx0.1v3_history_contents: -------------------------------------------------------------------------------- 1 | 7 2 | SHGT 3 | UBTROP 4 | VBTROP 5 | UVEL 6 | VVEL 7 | TEMP 8 | SALT 9 | -------------------------------------------------------------------------------- /input_templates/tx1v1_history_contents: -------------------------------------------------------------------------------- 1 | 7 2 | SHGT 3 | UBTROP 4 | VBTROP 5 | UVEL 6 | VVEL 7 | TEMP 8 | SALT 9 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/abio_dic_dic14_presaero/shell_commands: -------------------------------------------------------------------------------- 1 | ./xmlchange DATM_PRESAERO=clim_1850 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/highres_JRA_cice/user_nl_cice: -------------------------------------------------------------------------------- 1 | ndtd=2 2 | r_snw=1.00 3 | f_blkmask = .true. 4 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/hires_core2_cheyenne/shell_commands: -------------------------------------------------------------------------------- 1 | ./xmlchange JOB_WALLCLOCK_TIME=01:15:00 2 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/container.git/refs/heads/master: -------------------------------------------------------------------------------- 1 | 715b8f3e4afe1802a178e1d603af404ba45d59de 2 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/refs/heads/feature2: -------------------------------------------------------------------------------- 1 | 36418b4e5665956a90725c9a1b5a8e551c5f3d48 2 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/refs/heads/feature3: -------------------------------------------------------------------------------- 1 | 090e1034746b2c865f7b0280813dbf4061a700e8 2 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/refs/heads/master: -------------------------------------------------------------------------------- 1 | 9b75494003deca69527bb64bcaa352e801611dd2 2 | -------------------------------------------------------------------------------- /input_templates/test_sample_history_contents: -------------------------------------------------------------------------------- 1 | 7 2 | SHGT 3 | UBTROP 4 | VBTROP 5 | UVEL 6 | VVEL 7 | TEMP 8 | SALT 9 | -------------------------------------------------------------------------------- /input_templates/tx1v1_region_ids: -------------------------------------------------------------------------------- 1 | 1 'Global Ocean ' 0.0 0.0 0.0 2 | 3 | 4 | ! SVN:$Id$ 5 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/refs/heads/master: -------------------------------------------------------------------------------- 1 | 6fc379457ecb4e576a13c7610ae1fa73f845ee6a 2 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/refs/heads/feature2: -------------------------------------------------------------------------------- 1 | f268d4e56d067da9bd1d85e55bdc40a8bd2b0bca 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/cice_ecosys_dust_flux_driver/include_user_mods: -------------------------------------------------------------------------------- 1 | ../cice 2 | ../ecosys_dust_flux_driver 3 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/refs/heads/new-feature: -------------------------------------------------------------------------------- 1 | 9580ecc12f16334ce44e42287d5d46f927bb7b75 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/cice_ecosys_ladjust_bury_coeff/include_user_mods: -------------------------------------------------------------------------------- 1 | ../cice 2 | ../ecosys_ladjust_bury_coeff 3 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/daily_r4_tavg/user_nl_pop: -------------------------------------------------------------------------------- 1 | tavg_freq_opt(1) = 'nday' 2 | tavg_file_freq_opt(1) = 'nday' 3 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/refs/tags/abandoned-feature: -------------------------------------------------------------------------------- 1 | a42fe9144f5707bc1e9515ce1b44681f7aba6f95 2 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/refs/tags/forked-feature-v1: -------------------------------------------------------------------------------- 1 | 8d2b3b35126224c975d23f109aa1e3cbac452989 2 | -------------------------------------------------------------------------------- /input_templates/tx0.1v2_movie_contents: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/input_templates/tx0.1v2_movie_contents -------------------------------------------------------------------------------- /input_templates/tx0.1v3_movie_contents: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/input_templates/tx0.1v3_movie_contents -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_daily_r4_tavg/user_nl_pop: -------------------------------------------------------------------------------- 1 | tavg_freq_opt(5) = 'nday' 2 | tavg_file_freq_opt(5) = 'nday' 3 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/hires_jra_cheyenne/user_nl_pop: -------------------------------------------------------------------------------- 1 | dt_count = 600 2 | lcvmix = .false. 3 | ltidal_mixing = .true. 4 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/cice_ecosys_apply_nhx_surface_emis/include_user_mods: -------------------------------------------------------------------------------- 1 | ../cice 2 | ../ecosys_apply_nhx_surface_emis 3 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_144blocks_320x384_spacecurve/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys 2 | ../144blocks_320x384_spacecurve 3 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_81blocks_100x116_spacecurve/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ecosys 2 | ../81blocks_100x116_spacecurve 3 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/container.git/description: -------------------------------------------------------------------------------- 1 | Unnamed repository; edit this file 'description' to name the repository. 2 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/description: -------------------------------------------------------------------------------- 1 | Unnamed repository; edit this file 'description' to name the repository. 2 | -------------------------------------------------------------------------------- /input_templates/test_sample_movie_contents: -------------------------------------------------------------------------------- 1 | 8 2 | SHGT 3 | UTRANS 4 | VTRANS 5 | TEMP1_2 6 | SALT1_2 7 | TEMP6 8 | SALT6 9 | VORT 10 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_dust_flux_driver/user_nl_pop: -------------------------------------------------------------------------------- 1 | dust_flux_source = 'driver' 2 | iron_flux_source = 'driver-derived' 3 | -------------------------------------------------------------------------------- /drivers/mct/ocn_communicator.F90: -------------------------------------------------------------------------------- 1 | module ocn_communicator 2 | 3 | integer, public :: mpi_communicator_ocn 4 | 5 | end module ocn_communicator 6 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/description: -------------------------------------------------------------------------------- 1 | Unnamed repository; edit this file 'description' to name the repository. 2 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/description: -------------------------------------------------------------------------------- 1 | Unnamed repository; edit this file 'description' to name the repository. 2 | -------------------------------------------------------------------------------- /externals/manage_externals/test/requirements.txt: -------------------------------------------------------------------------------- 1 | pylint>=1.7.0 2 | autopep8>=1.3.0 3 | coverage>=4.4.0 4 | coveralls>=1.2.0 5 | sphinx>=1.6.0 6 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ciso_transient_abio_dic_dic14_transient/include_user_mods: -------------------------------------------------------------------------------- 1 | ../ciso_transient 2 | ../abio_dic_dic14_transient 3 | -------------------------------------------------------------------------------- /drivers/nuopc/ocn_communicator.F90: -------------------------------------------------------------------------------- 1 | module ocn_communicator 2 | 3 | integer, public :: mpi_communicator_ocn 4 | 5 | end module ocn_communicator 6 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ciso_transient/user_nl_pop: -------------------------------------------------------------------------------- 1 | ciso_atm_d14c_opt = 'file' 2 | ciso_atm_d13c_opt = 'file' 3 | ciso_atm_data_year = 1960 4 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/error/readme.txt: -------------------------------------------------------------------------------- 1 | Invalid or corrupted git repository (.git dir exists, but is empty) for error 2 | testing. 3 | 4 | -------------------------------------------------------------------------------- /externals/manage_externals/test/.gitignore: -------------------------------------------------------------------------------- 1 | # virtual environments 2 | env_python* 3 | 4 | # python code coverage tool output 5 | .coverage 6 | htmlcov 7 | 8 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/abio_dic_dic14_transient/user_nl_pop: -------------------------------------------------------------------------------- 1 | abio_atm_co2_opt = 'file' 2 | abio_atm_d14c_opt = 'file' 3 | abio_atm_data_year = 1960 4 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_ocn_transient_1850_2000/shell_commands: -------------------------------------------------------------------------------- 1 | ./xmlchange OCN_TRANSIENT=1850-2000 2 | ./xmlchange RUN_STARTDATE=1990-01-01 3 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_read_fallback_gx3v7/user_nl_pop: -------------------------------------------------------------------------------- 1 | init_ecosys_init_file = '$DIN_LOC_ROOT/ocn/pop/gx3v7/ic/ecosys_jan_IC_gx3v7_20151210.nc' 2 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/5day_tavg/user_nl_pop: -------------------------------------------------------------------------------- 1 | tavg_freq = 5 2 | tavg_file_freq = 5 3 | tavg_freq_opt = 'nday' 4 | tavg_file_freq_opt = 'nday' 5 | -------------------------------------------------------------------------------- /input_templates/test_sample_transport_file: -------------------------------------------------------------------------------- 1 | 2 2 | 64 64 1 128 1 20 merid sample meridional section 3 | 1 192 64 64 1 10 zonal sample zonal section 4 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/5day_r4_tavg/user_nl_pop: -------------------------------------------------------------------------------- 1 | tavg_freq = 5 2 | tavg_file_freq = 5 3 | tavg_freq_opt = 'nday' 4 | tavg_file_freq_opt = 'nday' 5 | -------------------------------------------------------------------------------- /externals/manage_externals/test/.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | branch = True 3 | omit = test_unit_*.py 4 | test_sys_*.py 5 | /usr/* 6 | .local/* 7 | */site-packages/* -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/container.git/config: -------------------------------------------------------------------------------- 1 | [core] 2 | repositoryformatversion = 0 3 | filemode = true 4 | bare = true 5 | ignorecase = true 6 | precomposeunicode = true 7 | -------------------------------------------------------------------------------- /Externals.cfg: -------------------------------------------------------------------------------- 1 | [POP_externals] 2 | local_path = . 3 | protocol = externals_only 4 | externals = Externals_POP.cfg 5 | required = True 6 | 7 | [externals_description] 8 | schema_version = 1.0.0 9 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/config: -------------------------------------------------------------------------------- 1 | [core] 2 | repositoryformatversion = 0 3 | filemode = true 4 | bare = true 5 | ignorecase = true 6 | precomposeunicode = true 7 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/config: -------------------------------------------------------------------------------- 1 | [core] 2 | repositoryformatversion = 0 3 | filemode = true 4 | bare = true 5 | ignorecase = true 6 | precomposeunicode = true 7 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_3steps/shell_commands: -------------------------------------------------------------------------------- 1 | ./xmlchange POP_TAVG_R8=TRUE 2 | ./xmlchange OCN_CHL_TYPE=prognostic 3 | ./xmlchange OCN_NCPL=8 4 | ./xmlchange STOP_OPTION=nhours,STOP_N=6 5 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/omip/user_nl_pop: -------------------------------------------------------------------------------- 1 | 2 | pcfc_first_nonzero_year = 1995 ! allow startup to start before 1995 3 | 4 | psf6_first_nonzero_year = 1995 ! allow startup to start before 1995 5 | -------------------------------------------------------------------------------- /test/unit/blockDistribution/pop_in: -------------------------------------------------------------------------------- 1 | &domainNML 2 | nProcsClinic = 153 3 | nProcsTropic = 153 4 | topographyFile = 'topography.x1.bin' 5 | distrbMethodClinic = 'rake' 6 | distrbMethodTropic = 'cartesian' 7 | / 8 | -------------------------------------------------------------------------------- /test/unit/time_management/source/README: -------------------------------------------------------------------------------- 1 | 2 | 3 | The files in this directory are the time-management test driver files. 4 | They are copied by the ../timeTest script each time the ../timeTest script 5 | is run. 6 | -------------------------------------------------------------------------------- /MARBL_scripts/MARBL_wrappers/__init__.py: -------------------------------------------------------------------------------- 1 | from .MARBL_settings import MARBL_settings_for_POP 2 | from .MARBL_diagnostics import MARBL_diagnostics_for_POP 3 | from .POP_ecosys_diagnostics import write_ecosys_diagnostics_file 4 | -------------------------------------------------------------------------------- /input_templates/submeso_terms_tavg_contents: -------------------------------------------------------------------------------- 1 | 1 SUBM_ADV_TEND_TEMP 2 | 1 SUBM_ADV_TEND_SALT 3 | 1 USUBM 4 | 1 VSUBM 5 | 1 WSUBM 6 | 1 ADVT_SUBM 7 | 1 ADVS_SUBM 8 | 1 VNT_SUBM 9 | 1 VNS_SUBM 10 | 1 HLS_SUBM 11 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/hires_jra_cheyenne/shell_commands: -------------------------------------------------------------------------------- 1 | ./xmlchange ATM_NCPL="144" 2 | ./xmlchange OCN_NCPL="48" 3 | ./xmlchange JOB_WALLCLOCK_TIME=01:15:00 4 | ./xmlchange --id CPL_SEQ_OPTION --val RASM_OPTION1 5 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/default/user_nl_pop: -------------------------------------------------------------------------------- 1 | & tavg_nml 2 | ltavg_ignore_extra_streams = .true. 3 | n_tavg_streams = 1 4 | tavg_freq_opt = 'nday' 5 | tavg_file_freq_opt = 'nday' 6 | / 7 | ldebug = .true. 8 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### Description of the issue: 2 | 3 | ### Version: 4 | - CESM: [version] 5 | - POP2: [version] 6 | 7 | ### Machine/Environment Description: 8 | 9 | ### Any xml/namelist changes or SourceMods: 10 | 11 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/default_spacecurve/user_nl_pop: -------------------------------------------------------------------------------- 1 | & tavg_nml 2 | ltavg_ignore_extra_streams = .true. 3 | n_tavg_streams = 1 4 | tavg_freq_opt = 'nday' 5 | tavg_file_freq_opt = 'nday' 6 | / 7 | ldebug = .true. 8 | -------------------------------------------------------------------------------- /externals/manage_externals/manic/__init__.py: -------------------------------------------------------------------------------- 1 | """Public API for the manage_externals library 2 | """ 3 | 4 | from manic import checkout 5 | from manic.utils import printlog 6 | 7 | __all__ = [ 8 | 'checkout', 'printlog', 9 | ] 10 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/container.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/container.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/container.git/objects/71/5b8f3e4afe1802a178e1d603af404ba45d59de: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/container.git/objects/71/5b8f3e4afe1802a178e1d603af404ba45d59de -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/container.git/objects/b0/f87705e2b9601cb831878f3d51efa78b910d7b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/container.git/objects/b0/f87705e2b9601cb831878f3d51efa78b910d7b -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/container.git/objects/f9/e08370a737e941de6f6492e3f427c2ef4c1a03: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/container.git/objects/f9/e08370a737e941de6f6492e3f427c2ef4c1a03 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/objects/00/fd13e76189f9134b0506b4b8ed3172723b467f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext.git/objects/00/fd13e76189f9134b0506b4b8ed3172723b467f -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/objects/09/0e1034746b2c865f7b0280813dbf4061a700e8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext.git/objects/09/0e1034746b2c865f7b0280813dbf4061a700e8 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/objects/0b/15e8af3d4615b42314216efeae3fff184046a8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext.git/objects/0b/15e8af3d4615b42314216efeae3fff184046a8 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/objects/11/a76e3d9a67313dec7ce1230852ab5c86352c5c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext.git/objects/11/a76e3d9a67313dec7ce1230852ab5c86352c5c -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/objects/31/dbcd6de441e671a467ef317146539b7ffabb11: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext.git/objects/31/dbcd6de441e671a467ef317146539b7ffabb11 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/objects/36/418b4e5665956a90725c9a1b5a8e551c5f3d48: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext.git/objects/36/418b4e5665956a90725c9a1b5a8e551c5f3d48 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/objects/60/b1cc1a38d63a4bcaa1e767262bbe23dbf9f5f5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext.git/objects/60/b1cc1a38d63a4bcaa1e767262bbe23dbf9f5f5 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/objects/63/a99393d1baff97ccef967af30380659867b139: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext.git/objects/63/a99393d1baff97ccef967af30380659867b139 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/objects/95/3256da5612fcd9263590a353bc18c6f224e74f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext.git/objects/95/3256da5612fcd9263590a353bc18c6f224e74f -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/objects/9b/75494003deca69527bb64bcaa352e801611dd2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext.git/objects/9b/75494003deca69527bb64bcaa352e801611dd2 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/objects/a2/2a5da9119328ea6d693f88861457c07e14ac04: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext.git/objects/a2/2a5da9119328ea6d693f88861457c07e14ac04 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/objects/c5/b315915742133dbdfbeed0753e481b55c1d364: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext.git/objects/c5/b315915742133dbdfbeed0753e481b55c1d364 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/objects/df/312890f93ba4d2c694208599b665c4a08afeff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext.git/objects/df/312890f93ba4d2c694208599b665c4a08afeff -------------------------------------------------------------------------------- /input_templates/gm_bolus_terms_tavg_contents: -------------------------------------------------------------------------------- 1 | 1 UISOP 2 | 1 VISOP 3 | 1 WISOP 4 | 1 ADVT_ISOP 5 | 1 ADVS_ISOP 6 | 1 VNT_ISOP 7 | 1 VNS_ISOP 8 | 1 ISOP_ADV_TEND_TEMP 9 | 1 Redi_TEND_TEMP 10 | 1 ISOP_ADV_TEND_SALT 11 | 1 Redi_TEND_SALT 12 | -------------------------------------------------------------------------------- /input_templates/gx3v5_depth_accel: -------------------------------------------------------------------------------- 1 | 1.0 2 | 1.0 3 | 1.0 4 | 1.0 5 | 1.0 6 | 1.0 7 | 1.0 8 | 1.0 9 | 1.0 10 | 1.0 11 | 1.0 12 | 1.0 13 | 1.0 14 | 1.0 15 | 1.0 16 | 1.0 17 | 1.0 18 | 1.0 19 | 1.0 20 | 1.0 21 | 1.0 22 | 1.0 23 | 1.0 24 | 1.0 25 | 1.0 26 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/objects/00/437ac2000d5f06fb8a572a01a5bbdae98b17cb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/mixed-cont-ext.git/objects/00/437ac2000d5f06fb8a572a01a5bbdae98b17cb -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/objects/01/97458f2dbe5fcd6bc44fa46983be0a30282379: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/mixed-cont-ext.git/objects/01/97458f2dbe5fcd6bc44fa46983be0a30282379 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/objects/06/ea30b03ffa2f8574705f8b9583f7ca7e2dccf7: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/mixed-cont-ext.git/objects/06/ea30b03ffa2f8574705f8b9583f7ca7e2dccf7 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/objects/14/368b701616a8c53820b610414a4b9a07540cf6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/mixed-cont-ext.git/objects/14/368b701616a8c53820b610414a4b9a07540cf6 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/objects/15/2b57e1cf23721cd17ff681cb9276e3fb9fc091: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/mixed-cont-ext.git/objects/15/2b57e1cf23721cd17ff681cb9276e3fb9fc091 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/objects/1f/01fa46c17b1f38b37e6259f6e9d041bda3144f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/mixed-cont-ext.git/objects/1f/01fa46c17b1f38b37e6259f6e9d041bda3144f -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/objects/37/f0e70b609adc90f4c09ee21d82ed1d79c81d69: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/mixed-cont-ext.git/objects/37/f0e70b609adc90f4c09ee21d82ed1d79c81d69 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/objects/38/9a2b876b8965d3c91a3db8d28a483eaf019d5c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/mixed-cont-ext.git/objects/38/9a2b876b8965d3c91a3db8d28a483eaf019d5c -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/mixed-cont-ext.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/objects/6e/9f4baa6e94a0af4e094836c2eb55ccedef5fc4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/mixed-cont-ext.git/objects/6e/9f4baa6e94a0af4e094836c2eb55ccedef5fc4 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/objects/6f/c379457ecb4e576a13c7610ae1fa73f845ee6a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/mixed-cont-ext.git/objects/6f/c379457ecb4e576a13c7610ae1fa73f845ee6a -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/objects/93/a159deb9175bfeb2820a0006ddd92d78131332: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/mixed-cont-ext.git/objects/93/a159deb9175bfeb2820a0006ddd92d78131332 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/objects/95/80ecc12f16334ce44e42287d5d46f927bb7b75: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/mixed-cont-ext.git/objects/95/80ecc12f16334ce44e42287d5d46f927bb7b75 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/objects/a9/288dcd8a719a1f4ed3cba43a2a387ae7cd60fd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/mixed-cont-ext.git/objects/a9/288dcd8a719a1f4ed3cba43a2a387ae7cd60fd -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/objects/e8/ea32a11d30ee703f6f661ae7c2376f4ab84d38: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/mixed-cont-ext.git/objects/e8/ea32a11d30ee703f6f661ae7c2376f4ab84d38 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/objects/fd/15a5ad5204356229c60a831d2a8120a43ac901: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/mixed-cont-ext.git/objects/fd/15a5ad5204356229c60a831d2a8120a43ac901 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/00/fd13e76189f9134b0506b4b8ed3172723b467f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/00/fd13e76189f9134b0506b4b8ed3172723b467f -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/0b/15e8af3d4615b42314216efeae3fff184046a8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/0b/15e8af3d4615b42314216efeae3fff184046a8 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/0b/67df4e7e8e6e1c6e401542738b352d18744677: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/0b/67df4e7e8e6e1c6e401542738b352d18744677 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/11/a76e3d9a67313dec7ce1230852ab5c86352c5c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/11/a76e3d9a67313dec7ce1230852ab5c86352c5c -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/16/5506a7408a482f50493434e13fffeb44af893f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/16/5506a7408a482f50493434e13fffeb44af893f -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/24/4386e788c9bc608613e127a329c742450a60e4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/24/4386e788c9bc608613e127a329c742450a60e4 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/32/7e97d86e941047d809dba58f2804740c6c30cf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/32/7e97d86e941047d809dba58f2804740c6c30cf -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/36/418b4e5665956a90725c9a1b5a8e551c5f3d48: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/36/418b4e5665956a90725c9a1b5a8e551c5f3d48 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/3d/7099c35404ae6c8640ce263b38bef06e98cc26: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/3d/7099c35404ae6c8640ce263b38bef06e98cc26 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/3d/ec1fdf8e2f5edba28148c5db2fe8d7a842360b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/3d/ec1fdf8e2f5edba28148c5db2fe8d7a842360b -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/41/1de5d96ee418c1c55f3e96e6e6e7c06bb95801 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/4d/837135915ed93eed6fff6b439f284ce317296f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/4d/837135915ed93eed6fff6b439f284ce317296f -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/56/175e017ad38bf3d33d74b6bd7c74624b28466a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/56/175e017ad38bf3d33d74b6bd7c74624b28466a -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/5f/1d4786d12e52d7ab28d2f2f1118c1059a9f1ae: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/5f/1d4786d12e52d7ab28d2f2f1118c1059a9f1ae -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/67/136e5ab4d5c1c65d10c8048763b96b0e53c1d6: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/67/136e5ab4d5c1c65d10c8048763b96b0e53c1d6 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/7b/0bd630ac13865735a1dff3437a137d8ab50663: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/7b/0bd630ac13865735a1dff3437a137d8ab50663 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/88/cf20868e0cc445f5642a480ed034c71e0d7e9f: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/88/cf20868e0cc445f5642a480ed034c71e0d7e9f -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/8d/2b3b35126224c975d23f109aa1e3cbac452989: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/8d/2b3b35126224c975d23f109aa1e3cbac452989 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/9b/75494003deca69527bb64bcaa352e801611dd2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/9b/75494003deca69527bb64bcaa352e801611dd2 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/a2/2a5da9119328ea6d693f88861457c07e14ac04: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/a2/2a5da9119328ea6d693f88861457c07e14ac04 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/a4/2fe9144f5707bc1e9515ce1b44681f7aba6f95: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/a4/2fe9144f5707bc1e9515ce1b44681f7aba6f95 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/b9/3737be3ea6b19f6255983748a0a0f4d622f936: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/b9/3737be3ea6b19f6255983748a0a0f4d622f936 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/c5/32bc8fde96fa63103a52057f0baffcc9f00c6b: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/c5/32bc8fde96fa63103a52057f0baffcc9f00c6b -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/c5/b315915742133dbdfbeed0753e481b55c1d364: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/c5/b315915742133dbdfbeed0753e481b55c1d364 -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/objects/f2/68d4e56d067da9bd1d85e55bdc40a8bd2b0bca: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ESCOMP/POP2-CESM/master/externals/manage_externals/test/repos/simple-ext-fork.git/objects/f2/68d4e56d067da9bd1d85e55bdc40a8bd2b0bca -------------------------------------------------------------------------------- /input_templates/tavg_contents_tracer_budget_terms: -------------------------------------------------------------------------------- 1 | 1 HDIFE_TEMP 2 | 1 HDIFN_TEMP 3 | 1 HDIFB_TEMP 4 | 1 DIA_IMPVF_TEMP 5 | 1 KPP_SRC_TEMP 6 | 1 HDIFE_SALT 7 | 1 HDIFN_SALT 8 | 1 HDIFB_SALT 9 | 1 DIA_IMPVF_SALT 10 | 1 KPP_SRC_SALT 11 | 1 QSW_3D 12 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_3steps/user_nl_pop: -------------------------------------------------------------------------------- 1 | & tavg_nml 2 | ltavg_ignore_extra_streams = .true. 3 | n_tavg_streams = 1 4 | tavg_freq_opt = 'nhour' 5 | tavg_freq = 3 6 | tavg_file_freq_opt = 'nhour' 7 | tavg_file_freq = 3 8 | / 9 | -------------------------------------------------------------------------------- /externals/manage_externals/.gitignore: -------------------------------------------------------------------------------- 1 | # directories that are checked out by the tool 2 | cime/ 3 | cime_config/ 4 | components/ 5 | 6 | # generated local files 7 | *.log 8 | 9 | # editor files 10 | *~ 11 | *.bak 12 | 13 | # generated python files 14 | *.pyc 15 | -------------------------------------------------------------------------------- /input_templates/gx3v5_transport_contents: -------------------------------------------------------------------------------- 1 | 4 2 | 93 93 10 17 1 25 merid Drake Passage 3 | 61 64 84 84 1 25 zonal Bering Strait 4 | 45 45 32 38 1 25 merid Indonesian Throughflow 5 | 89 89 71 73 1 25 merid Florida Strait 6 | 7 | -------------------------------------------------------------------------------- /input_templates/gx3v7_transport_contents: -------------------------------------------------------------------------------- 1 | 4 2 | 93 93 10 17 1 60 merid Drake Passage 3 | 61 64 84 84 1 60 zonal Bering Strait 4 | 45 45 32 38 1 60 merid Indonesian Throughflow 5 | 89 89 71 73 1 60 merid Florida Strait 6 | 7 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/default_spacecurve/shell_commands: -------------------------------------------------------------------------------- 1 | ./xmlchange POP_TAVG_R8=TRUE 2 | ./xmlchange POP_AUTO_DECOMP="FALSE" 3 | ./xmlchange POP_DECOMPTYPE="spacecurve" 4 | ./xmlchange POP_MXBLCKS=1 5 | ./xmlchange POP_BLCKX=35 6 | ./xmlchange POP_BLCKY=27 7 | ./xmlchange NTASKS_OCN=144 8 | -------------------------------------------------------------------------------- /input_templates/submeso_terms_tavg_contents_high_freq: -------------------------------------------------------------------------------- 1 | 1 SUBM_ADV_TEND_TEMP 2 | 1 SUBM_ADV_TEND_SALT 3 | 1 USUBM 4 | 2 VSUBM ! daily for MOAR (yeager/MOC) 5 | 2 WSUBM ! daily for MOAR (yeager/MOC) 6 | 1 ADVT_SUBM 7 | 1 ADVS_SUBM 8 | 1 VNT_SUBM 9 | 1 VNS_SUBM 10 | 1 HLS_SUBM 11 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/cfc_sf6/user_nl_pop: -------------------------------------------------------------------------------- 1 | 2 | model_year&cfc_nml = 1 3 | data_year&cfc_nml = 1980 4 | pcfc_first_nonzero_year = 1981 ! allow startup to start in 1980 5 | 6 | model_year&sf6_nml = 1 7 | data_year&sf6_nml = 1980 8 | psf6_first_nonzero_year = 1981 ! allow startup to start in 1980 9 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/container.git/info/exclude: -------------------------------------------------------------------------------- 1 | # git ls-files --others --exclude-from=.git/info/exclude 2 | # Lines that start with '#' are comments. 3 | # For a project mostly in C, the following would be a good set of 4 | # exclude patterns (uncomment them if you want to use them): 5 | # *.[oa] 6 | # *~ 7 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/mixed-cont-ext.git/info/exclude: -------------------------------------------------------------------------------- 1 | # git ls-files --others --exclude-from=.git/info/exclude 2 | # Lines that start with '#' are comments. 3 | # For a project mostly in C, the following would be a good set of 4 | # exclude patterns (uncomment them if you want to use them): 5 | # *.[oa] 6 | # *~ 7 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext.git/info/exclude: -------------------------------------------------------------------------------- 1 | # git ls-files --others --exclude-from=.git/info/exclude 2 | # Lines that start with '#' are comments. 3 | # For a project mostly in C, the following would be a good set of 4 | # exclude patterns (uncomment them if you want to use them): 5 | # *.[oa] 6 | # *~ 7 | -------------------------------------------------------------------------------- /externals/manage_externals/.dir_locals.el: -------------------------------------------------------------------------------- 1 | ; -*- mode: Lisp -*- 2 | 3 | ((python-mode 4 | . ( 5 | ;; fill the paragraph to 80 columns when using M-q 6 | (fill-column . 80) 7 | 8 | ;; Use 4 spaces to indent in Python 9 | (python-indent-offset . 4) 10 | (indent-tabs-mode . nil) 11 | ))) 12 | 13 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/info/exclude: -------------------------------------------------------------------------------- 1 | # git ls-files --others --exclude-from=.git/info/exclude 2 | # Lines that start with '#' are comments. 3 | # For a project mostly in C, the following would be a good set of 4 | # exclude patterns (uncomment them if you want to use them): 5 | # *.[oa] 6 | # *~ 7 | -------------------------------------------------------------------------------- /input_templates/gm_bolus_terms_tavg_contents_high_freq: -------------------------------------------------------------------------------- 1 | 1 UISOP 2 | 2 VISOP ! daily for MOAR (yeager/MOC) 3 | 2 WISOP ! daily for MOAR (yeager/MOC) 4 | 1 ADVT_ISOP 5 | 1 ADVS_ISOP 6 | 1 VNT_ISOP 7 | 1 VNS_ISOP 8 | 1 ISOP_ADV_TEND_TEMP 9 | 1 Redi_TEND_TEMP 10 | 1 ISOP_ADV_TEND_SALT 11 | 1 Redi_TEND_SALT 12 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/81blocks_100x116_spacecurve/shell_commands: -------------------------------------------------------------------------------- 1 | # Set number of blocks to 81, use space curve 2 | ./xmlchange --force POP_AUTO_DECOMP=FALSE 3 | ./xmlchange --force POP_DECOMPTYPE=spacecurve 4 | ./xmlchange --force POP_BLCKX=12,POP_BLCKY=14,POP_NX_BLOCKS=9,POP_NY_BLOCKS=9 5 | ./xmlchange --force POP_MXBLCKS=5 6 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/144blocks_320x384_spacecurve/shell_commands: -------------------------------------------------------------------------------- 1 | # Set number of blocks to 80, use space curve 2 | ./xmlchange --force POP_AUTO_DECOMP=FALSE 3 | ./xmlchange --force POP_DECOMPTYPE=spacecurve 4 | ./xmlchange --force POP_BLCKX=27,POP_BLCKY=32,POP_NX_BLOCKS=12,POP_NY_BLOCKS=12 5 | ./xmlchange --force POP_MXBLCKS=5 6 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/packed-refs: -------------------------------------------------------------------------------- 1 | # pack-refs with: peeled fully-peeled sorted 2 | 36418b4e5665956a90725c9a1b5a8e551c5f3d48 refs/heads/feature2 3 | 9b75494003deca69527bb64bcaa352e801611dd2 refs/heads/master 4 | 11a76e3d9a67313dec7ce1230852ab5c86352c5c refs/tags/tag1 5 | ^9b75494003deca69527bb64bcaa352e801611dd2 6 | -------------------------------------------------------------------------------- /externals/manage_externals/test/repos/simple-ext-fork.git/config: -------------------------------------------------------------------------------- 1 | [core] 2 | repositoryformatversion = 0 3 | filemode = true 4 | bare = true 5 | ignorecase = true 6 | precomposeunicode = true 7 | [remote "origin"] 8 | url = /Users/andreb/projects/ncar/git-conversion/checkout-model-dev/cesm-demo-externals/manage_externals/test/repos/simple-ext.git 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Parallel Ocean Program (POP2) in CESM 2 | 3 | The ocean component of the CESM2 is the Parallel Ocean Program version 2 (POP2) based on the POP v2.1 of the Los Alamos National Laboratory. The version used in CESM includes many physical and software developments incorporated by the members of the Ocean Model Working Group as detailed in: 4 | http://www.cesm.ucar.edu/models/cesm2/ocean/ 5 | 6 | -------------------------------------------------------------------------------- /tools/postrun_proc/README: -------------------------------------------------------------------------------- 1 | 2 | ----------------------------------------------------------------------------------- 3 | 4 | The files in this directory are intended to be used after pop2 has been run 5 | in the cesm context, prior to the invocation of the cesm long-term archiving 6 | script. 7 | 8 | ----------------------------------------------------------------------------------- 9 | 10 | -------------------------------------------------------------------------------- /Externals_POP.cfg: -------------------------------------------------------------------------------- 1 | [CVMix] 2 | tag = v0.98-beta 3 | protocol = git 4 | repo_url = https://github.com/CVMix/CVMix-src 5 | local_path = externals/CVMix 6 | required = True 7 | 8 | [MARBL] 9 | tag = marbl0.43.0 10 | protocol = git 11 | repo_url = https://github.com/marbl-ecosys/MARBL 12 | local_path = externals/MARBL 13 | required = True 14 | 15 | [externals_description] 16 | schema_version = 1.0.0 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # gitignore for POP2 2 | 3 | # directories checked out by manage_externals, and other files created 4 | # by manage_externals 5 | manage_externals.log 6 | externals/MARBL 7 | externals/CVMix 8 | 9 | # binary files 10 | *.nc 11 | 12 | # editor files 13 | *.swp 14 | *~ 15 | 16 | # mac files 17 | .DS_Store 18 | 19 | # cime_config 20 | buildnmlc 21 | buildcppc 22 | 23 | # misc 24 | *.pyc 25 | *.gz 26 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/performance_eval/user_nl_pop: -------------------------------------------------------------------------------- 1 | ltavg_ignore_extra_streams = .true. 2 | n_tavg_streams = 0 3 | ldiag_velocity = .false. 4 | ldiag_global_tracer_budgets = .false. 5 | ldiag_bsf = .false. 6 | ltavg_nino_diags_requested = .false. 7 | moc_requested = .false. 8 | n_heat_trans_requested = .false. 9 | n_salt_trans_requested = .false. 10 | diag_gm_bolus = .false. 11 | ldebug = .false. 12 | -------------------------------------------------------------------------------- /input_templates/user_nl_marbl: -------------------------------------------------------------------------------- 1 | !---------------------------------------------------------------------------------- 2 | ! To use non-default parameter values in MARBL 3 | ! 1. Copy this file to $CASEROOT/ 4 | ! 2. Append lines of the form 5 | ! parmeter = value 6 | ! To the SourceMods version (note that '!' is treated as a comment) 7 | !---------------------------------------------------------------------------------- 8 | 9 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### Description of changes: 2 | 3 | [ Description of the changes in this Pull Request. It should be enough 4 | information for someone not following this development to understand.] 5 | 6 | ### Testing: 7 | 8 | Test case/suite: 9 | Test status: [bit for bit, roundoff, climate changing] 10 | 11 | Fixes [POP2 Github issue #] 12 | 13 | User interface (namelist or namelist defaults) changes? 14 | 15 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_add_4p2z/shell_commands: -------------------------------------------------------------------------------- 1 | # Check current value of OCN_BGC_CONFIG 2 | ocn_bgc_config=(`./xmlquery OCN_BGC_CONFIG --value`) 3 | 4 | if [[ "${ocn_bgc_config}" == "latest" ]]; then 5 | ./xmlchange OCN_BGC_CONFIG=latest+4p2z 6 | elif [[ "${ocn_bgc_config}" != *"4p2z"* ]]; then 7 | echo "ERROR: OCN_BGC_CONFIG=${ocn_bgc_config} does not have equivalent option with 4p2z" 8 | exit 1 9 | fi 10 | -------------------------------------------------------------------------------- /bld/check_decomp.csh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env csh 2 | 3 | set res = gx1v5 4 | set n = 0 5 | set nmax = 2400 6 | set file = $res.$nmax 7 | 8 | echo "check_decomp on $res from $n to $nmax pes:" >! $file 9 | echo "" >>& $file 10 | 11 | while ($n < $nmax) 12 | 13 | @ n++ 14 | set config = `./generate_pop_decomp.pl -ccsmroot ../../../ -res $res -nproc $n` 15 | 16 | if ($config[1] >= 0) then 17 | echo gx1v5 $n : $config >>& $res.$nmax 18 | endif 19 | 20 | end 21 | -------------------------------------------------------------------------------- /externals/manage_externals/.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### Summary of Issue: 2 | ### Expected behavior and actual behavior: 3 | ### Steps to reproduce the problem (should include model description file(s) or link to publi c repository): 4 | ### What is the changeset ID of the code, and the machine you are using: 5 | ### have you modified the code? If so, it must be committed and available for testing: 6 | ### Screen output or log file showing the error message and context: 7 | -------------------------------------------------------------------------------- /input_templates/tx1v1_tavg_contents: -------------------------------------------------------------------------------- 1 | 1 SSH 2 | 1 SSH2 3 | 1 HMXL 4 | 1 XMXL 5 | 1 TMXL 6 | 1 HBLT 7 | 1 XBLT 8 | 1 TBLT 9 | 1 TAUX 10 | 1 TAUY 11 | 1 UVEL 12 | 1 VVEL 13 | 1 WVEL 14 | 1 SHF 15 | 1 SFWF 16 | 1 TEMP 17 | 1 SALT 18 | 1 EVAP_F 19 | 1 PREC_F 20 | 1 SNOW_F 21 | 1 MELT_F 22 | 1 ROFF_F 23 | 1 SALT_F 24 | 1 SENH_F 25 | 1 LWUP_F 26 | 1 LWDN_F 27 | 1 MELTH_F 28 | 1 KE 29 | 1 UET 30 | 1 VNT 31 | 1 UES 32 | 1 VNS 33 | 1 PD 34 | 2 SST 35 | -------------------------------------------------------------------------------- /drivers/nuopc/ocn_comp_shr.F90: -------------------------------------------------------------------------------- 1 | module ocn_comp_shr 2 | 3 | ! Model mesh info is here in order to be leveraged by CDEPS in line calls 4 | 5 | use ESMF 6 | use shr_kind_mod, only : r8 => shr_kind_r8, cl=>shr_kind_cl 7 | 8 | implicit none 9 | public 10 | 11 | type(ESMF_Clock) :: model_clock ! model clock 12 | type(ESMF_Mesh) :: model_mesh ! model_mesh 13 | character(len=cl) :: model_meshfile ! model mesh file 14 | 15 | end module ocn_comp_shr 16 | -------------------------------------------------------------------------------- /input_templates/tx0.1v2_tavg_contents: -------------------------------------------------------------------------------- 1 | 1 SSH 2 | 1 SSH2 3 | 1 HMXL 4 | 1 XMXL 5 | 1 TMXL 6 | 1 HBLT 7 | 1 XBLT 8 | 1 TBLT 9 | 1 TAUX 10 | 1 TAUY 11 | 1 UVEL 12 | 1 VVEL 13 | 1 WVEL 14 | 1 SHF 15 | 1 SFWF 16 | 1 TEMP 17 | 1 SALT 18 | 1 EVAP_F 19 | 1 PREC_F 20 | 1 SNOW_F 21 | 1 MELT_F 22 | 1 ROFF_F 23 | 1 SALT_F 24 | 1 SENH_F 25 | 1 LWUP_F 26 | 1 LWDN_F 27 | 1 MELTH_F 28 | 1 KE 29 | 1 UET 30 | 1 VNT 31 | 1 UES 32 | 1 VNS 33 | 1 PD 34 | 2 SST 35 | -------------------------------------------------------------------------------- /externals/manage_externals/manic/global_constants.py: -------------------------------------------------------------------------------- 1 | """Globals shared across modules 2 | """ 3 | 4 | from __future__ import absolute_import 5 | from __future__ import unicode_literals 6 | from __future__ import print_function 7 | 8 | import pprint 9 | 10 | EMPTY_STR = '' 11 | LOCAL_PATH_INDICATOR = '.' 12 | VERSION_SEPERATOR = '.' 13 | LOG_FILE_NAME = 'manage_externals.log' 14 | PPRINTER = pprint.PrettyPrinter(indent=4) 15 | 16 | VERBOSITY_DEFAULT = 0 17 | VERBOSITY_VERBOSE = 1 18 | VERBOSITY_DUMP = 2 19 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/abio_dic_dic14/shell_commands: -------------------------------------------------------------------------------- 1 | # check to see if abio_dic_dic14 is present before appending it 2 | # check for an exact module name match, to avoid false matches 3 | array_of_tracer_modules=(`./xmlquery OCN_TRACER_MODULES --value`) 4 | found=0 5 | for mod in ${array_of_tracer_modules[@]}; do 6 | if [[ $mod == "abio_dic_dic14" ]] ; then 7 | found=1 8 | fi 9 | done 10 | if [[ $found == 0 ]]; then 11 | ./xmlchange -a OCN_TRACER_MODULES=abio_dic_dic14 12 | fi 13 | 14 | ./xmlchange CCSM_CO2_PPMV=284.7 15 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/ecosys_add_cocco/shell_commands: -------------------------------------------------------------------------------- 1 | # Check current value of OCN_BGC_CONFIG 2 | ocn_bgc_config=(`./xmlquery OCN_BGC_CONFIG --value`) 3 | 4 | if [[ "${ocn_bgc_config}" == "latest" ]]; then 5 | ./xmlchange OCN_BGC_CONFIG=latest+cocco 6 | elif [[ "${ocn_bgc_config}" == "cesm2.1" ]]; then 7 | ./xmlchange OCN_BGC_CONFIG=cesm2.1+cocco 8 | elif [[ "${ocn_bgc_config}" != *"cocco"* ]]; then 9 | echo "ERROR: OCN_BGC_CONFIG=${ocn_bgc_config} does not have equivalent option with coccolithophores" 10 | exit 1 11 | fi 12 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/highres_JRA_cice/shell_commands: -------------------------------------------------------------------------------- 1 | # check to see if "-trage 0" has been added to CICE_CONFIG_OPTS, 2 | # add it if it is not already there 3 | # (check for an exact match of "-trage") 4 | array_of_cice_opts=(`./xmlquery CICE_CONFIG_OPTS --value`) 5 | found=0 6 | for mod in ${array_of_cice_opts[@]}; do 7 | if [[ $mod == "-trage" ]] ; then 8 | found=1 9 | fi 10 | done 11 | if [[ $found == 0 ]]; then 12 | ./xmlchange -a CICE_CONFIG_OPTS="-trage 0" 13 | fi 14 | 15 | ./xmlchange OCN_BGC_CONFIG=cesm2.1+cocco 16 | -------------------------------------------------------------------------------- /drivers/mct/POP_MCT_vars_mod.F90: -------------------------------------------------------------------------------- 1 | module POP_MCT_vars_mod 2 | 3 | use mct_mod 4 | use kinds_mod 5 | 6 | implicit none 7 | save 8 | public 9 | 10 | integer(int_kind) :: POP_MCT_OCNID 11 | type(mct_gsMap), pointer :: POP_MCT_gsMap_o ! 2d, points to cdata 12 | type(mct_gGrid), pointer :: POP_MCT_dom_o ! 2d, points to cdata 13 | type(mct_gsMap) :: POP_MCT_gsMap3d_o ! for 3d streams, local 14 | type(mct_gGrid) :: POP_MCT_dom3d_o ! for 3d streams, local 15 | 16 | end module POP_MCT_vars_mod 17 | -------------------------------------------------------------------------------- /input_templates/gx3v7_depth_accel: -------------------------------------------------------------------------------- 1 | 1.0 2 | 1.0 3 | 1.0 4 | 1.0 5 | 1.0 6 | 1.0 7 | 1.0 8 | 1.0 9 | 1.0 10 | 1.0 11 | 1.0 12 | 1.0 13 | 1.0 14 | 1.0 15 | 1.0 16 | 1.0 17 | 1.0 18 | 1.0 19 | 1.0 20 | 1.0 21 | 1.0 22 | 1.0 23 | 1.0 24 | 1.0 25 | 1.0 26 | 1.0 27 | 1.0 28 | 1.0 29 | 1.0 30 | 1.0 31 | 1.0 32 | 1.0 33 | 1.0 34 | 1.0 35 | 1.0 36 | 1.0 37 | 1.0 38 | 1.0 39 | 1.0 40 | 1.0 41 | 1.0 42 | 1.0 43 | 1.0 44 | 1.0 45 | 1.0 46 | 1.0 47 | 1.0 48 | 1.0 49 | 1.0 50 | 1.0 51 | 1.0 52 | 1.0 53 | 1.0 54 | 1.0 55 | 1.0 56 | 1.0 57 | 1.0 58 | 1.0 59 | 1.0 60 | 1.0 61 | -------------------------------------------------------------------------------- /tools/README: -------------------------------------------------------------------------------- 1 | 2 | ----------------------------------------------------------------------------------- 3 | 4 | The subdirectories in tools/ are intended to contain scripts, programs, 5 | and other files that are used in connection with the initialization, setup, 6 | or post-run processing of pop2 files. 7 | 8 | Not all such scripts reside here, mainly for historical reasons. Other possible 9 | script locations include the input_templates/ and bld/ directories. 10 | 11 | ----------------------------------------------------------------------------------- 12 | 13 | -------------------------------------------------------------------------------- /input_templates/tx1v1_depth_accel: -------------------------------------------------------------------------------- 1 | 1.00000 2 | 1.00000 3 | 1.00000 4 | 1.00000 5 | 1.00000 6 | 1.00000 7 | 1.00000 8 | 1.00000 9 | 1.00000 10 | 1.00000 11 | 1.00000 12 | 1.00000 13 | 1.00000 14 | 1.00000 15 | 1.00000 16 | 1.00000 17 | 1.00000 18 | 1.00000 19 | 1.00000 20 | 1.00000 21 | 1.00000 22 | 1.00000 23 | 1.00000 24 | 1.00000 25 | 1.00000 26 | 1.00000 27 | 1.00000 28 | 1.00000 29 | 1.00000 30 | 1.00000 31 | 1.00000 32 | 1.00000 33 | 1.00000 34 | 1.00000 35 | 1.00000 36 | 1.00000 37 | 1.00000 38 | 1.00000 39 | 1.00000 40 | 1.00000 41 | -------------------------------------------------------------------------------- /README_EXTERNALS: -------------------------------------------------------------------------------- 1 | POP is released via subversion, but it includes external code that is released 2 | via git. Rather than relying on subversion's svn:externals property, POP now 3 | uses the manage_externals utility from 4 | 5 | https://github.com/NCAR/manage_externals 6 | 7 | Since this is not tied to subversion, after checking out POP users must run 8 | 9 | $ ./externals/manage_externals/checkout_externals 10 | 11 | Note that CESM also uses manage_externals and will run checkout_externals when 12 | checking out POP, so this step is only necessary for non-CESM checkouts of POP. 13 | -------------------------------------------------------------------------------- /input_templates/tx0.1v3_tavg_contents: -------------------------------------------------------------------------------- 1 | 1 SSH 2 | 1 SSH2 3 | 1 HMXL 4 | 1 XMXL 5 | 1 TMXL 6 | 1 HBLT 7 | 1 XBLT 8 | 1 TBLT 9 | 1 TAUX 10 | 1 TAUY 11 | 1 UVEL 12 | 1 VVEL 13 | 1 WVEL 14 | 1 SHF 15 | 1 SFWF 16 | 1 TEMP 17 | 1 SALT 18 | 1 EVAP_F 19 | 1 PREC_F 20 | 1 SNOW_F 21 | 1 MELT_F 22 | 1 ROFF_F 23 | 1 SALT_F 24 | 1 SENH_F 25 | 1 LWUP_F 26 | 1 LWDN_F 27 | 1 MELTH_F 28 | 1 SHF_QSW 29 | 1 QFLUX 30 | 1 KE 31 | 1 UET 32 | 1 VNT 33 | 1 UES 34 | 1 VNS 35 | 1 WTT 36 | 1 WTS 37 | 1 PD 38 | 1 S_FLUX_ROFF_VSF 39 | 1 S_FLUX_ROFF_VSF_SRF 40 | 2 SST 41 | 2 SSH_2 42 | -------------------------------------------------------------------------------- /externals/manage_externals/.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | [ 50 character, one line summary ] 2 | 3 | [ Description of the changes in this commit. It should be enough 4 | information for someone not following this development to understand. 5 | Lines should be wrapped at about 72 characters. ] 6 | 7 | User interface changes?: [ No/Yes ] 8 | [ If yes, describe what changed, and steps taken to ensure backward compatibilty ] 9 | 10 | Fixes: [Github issue #s] And brief description of each issue. 11 | 12 | Testing: 13 | test removed: 14 | unit tests: 15 | system tests: 16 | manual testing: 17 | 18 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/cice/shell_commands: -------------------------------------------------------------------------------- 1 | # Apply these testmods to multi-instance tests, too (assuming there are only two instances) 2 | # 3 | # Doing this copy rather than explicitly including user_nl_cice_0001, etc. is 4 | # preferable both to avoid duplication and also so that the FINAL version of 5 | # user_nl_cice is copied in the case that there is another testmods directory 6 | # that includes this one. 7 | # 8 | # Ideally, these copies would be done automatically when applying testmods in 9 | # create_newcase. 10 | cp user_nl_cice user_nl_cice_0001 11 | cp user_nl_cice user_nl_cice_0002 12 | -------------------------------------------------------------------------------- /externals/manage_externals/test/doc/index.rst: -------------------------------------------------------------------------------- 1 | .. Manage Externals documentation master file, created by 2 | sphinx-quickstart on Wed Nov 29 10:53:25 2017. 3 | You can adapt this file completely to your liking, but it should at least 4 | contain the root `toctree` directive. 5 | 6 | Welcome to Manage Externals's documentation! 7 | ============================================ 8 | 9 | .. toctree:: 10 | :maxdepth: 2 11 | :caption: Contents: 12 | 13 | 14 | develop.rst 15 | testing.rst 16 | 17 | Indices and tables 18 | ================== 19 | 20 | * :ref:`genindex` 21 | * :ref:`modindex` 22 | * :ref:`search` 23 | -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/cfc_sf6/shell_commands: -------------------------------------------------------------------------------- 1 | # check to see if cfc or sf6 is present before appending them 2 | # check for an exact module name match, to avoid false matches 3 | array_of_tracer_modules=(`./xmlquery OCN_TRACER_MODULES --value`) 4 | cfc_found=0 5 | sf6_found=0 6 | for mod in ${array_of_tracer_modules[@]}; do 7 | if [[ $mod == "cfc" ]] ; then 8 | cfc_found=1 9 | fi 10 | if [[ $mod == "sf6" ]] ; then 11 | sf6_found=1 12 | fi 13 | done 14 | if [[ $cfc_found == 0 ]]; then 15 | ./xmlchange -a OCN_TRACER_MODULES=cfc 16 | fi 17 | if [[ $sf6_found == 0 ]]; then 18 | ./xmlchange -a OCN_TRACER_MODULES=sf6 19 | fi 20 | -------------------------------------------------------------------------------- /input_templates/gx1v6_transport_contents: -------------------------------------------------------------------------------- 1 | 11 2 | 297 297 24 47 1 60 merid Drake Passage 3 | 65 76 103 103 1 60 zonal Mozambique Channel 4 | 198 202 333 333 1 60 zonal Bering Strait 5 | 242 248 372 372 1 60 zonal Northwest Passage 6 | 131 131 164 167 1 60 merid Indonesian Throughflow I 7 | 138 161 156 156 1 60 zonal Indonesian Throughflow II 8 | 284 284 264 270 1 60 merid Florida Strait 9 | 289 292 258 258 1 60 zonal Windward Passage I 10 | 292 292 257 258 1 60 merid Windward Passage II 11 | 32 32 290 295 1 60 merid Gibraltar 12 | 234 234 373 380 1 60 merid Nares Strait 13 | -------------------------------------------------------------------------------- /input_templates/gx1v7_transport_contents: -------------------------------------------------------------------------------- 1 | 11 2 | 297 297 24 47 1 60 merid Drake Passage 3 | 65 76 103 103 1 60 zonal Mozambique Channel 4 | 198 202 333 333 1 60 zonal Bering Strait 5 | 242 248 372 372 1 60 zonal Northwest Passage 6 | 131 131 164 167 1 60 merid Indonesian Throughflow I 7 | 138 161 156 156 1 60 zonal Indonesian Throughflow II 8 | 284 284 264 270 1 60 merid Florida Strait 9 | 289 292 258 258 1 60 zonal Windward Passage I 10 | 292 292 257 258 1 60 merid Windward Passage II 11 | 32 32 290 295 1 60 merid Gibraltar 12 | 234 234 373 380 1 60 merid Nares Strait 13 | -------------------------------------------------------------------------------- /input_templates/test_sample_tavg_contents: -------------------------------------------------------------------------------- 1 | 1 SHF 2 | 1 SFWF 3 | 1 SSH 4 | 1 SSH2 5 | 1 H3 6 | 1 TAUX 7 | 1 TAUY 8 | 1 ADVT 9 | 1 HDIFT 10 | 1 UVEL 11 | 1 VVEL 12 | 1 KE 13 | 1 TEMP 14 | 1 SALT 15 | 1 TEMP2 16 | 1 SALT2 17 | 1 UET 18 | 1 VNT 19 | 1 WTT 20 | 1 UES 21 | 1 VNS 22 | 1 WTS 23 | 1 UEU 24 | 1 VNU 25 | 1 UEV 26 | 1 VNV 27 | 1 PV 28 | 1 Q 29 | 1 PD 30 | 1 UDP 31 | 1 WTU 32 | 1 WTV 33 | 1 ST 34 | 1 RHO 35 | 1 RHOU 36 | 1 RHOV 37 | 1 URHO 38 | 1 VRHO 39 | 1 WRHO 40 | 1 PVWM 41 | 1 PVWP 42 | 1 UPV 43 | 1 VPV 44 | 1 UQ 45 | 1 VQ 46 | 1 U1_8 47 | 1 V1_8 48 | 1 T1_8 49 | 1 S1_8 50 | 1 UV 51 | 1 SU 52 | 1 SV 53 | 1 VUF 54 | 1 VVF 55 | 2 SST 56 | -------------------------------------------------------------------------------- /externals/manage_externals/test/doc/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line. 5 | SPHINXOPTS = 6 | SPHINXBUILD = sphinx-build 7 | SPHINXPROJ = ManageExternals 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -------------------------------------------------------------------------------- /cime_config/testdefs/testmods_dirs/pop/omip/shell_commands: -------------------------------------------------------------------------------- 1 | # 1975 for CORE2 2 | # 1990 for JRA 3 | ./xmlchange RUN_STARTDATE=338-01-01 4 | 5 | # check to see if cfc or sf6 is present before appending them 6 | # check for an exact module name match, to avoid false matches 7 | array_of_tracer_modules=(`./xmlquery OCN_TRACER_MODULES --value`) 8 | cfc_found=0 9 | sf6_found=0 10 | for mod in ${array_of_tracer_modules[@]}; do 11 | if [[ $mod == "cfc" ]] ; then 12 | cfc_found=1 13 | fi 14 | if [[ $mod == "sf6" ]] ; then 15 | sf6_found=1 16 | fi 17 | done 18 | if [[ $cfc_found == 0 ]]; then 19 | ./xmlchange -a OCN_TRACER_MODULES=cfc 20 | fi 21 | if [[ $sf6_found == 0 ]]; then 22 | ./xmlchange -a OCN_TRACER_MODULES=sf6 23 | fi 24 | -------------------------------------------------------------------------------- /test/unit/broadcast/bcastTestSerial: -------------------------------------------------------------------------------- 1 | 2 | /bin/cp ../../../build/GNUmakefile . 3 | 4 | mkdir build 5 | /bin/cp -r ../../../build/*.awk build 6 | /bin/cp -r ../../../build/*.mk build 7 | /bin/cp -r ../../../build/*.gnu build 8 | 9 | /bin/cp ../../../serial/POP_CommMod.F90 . 10 | /bin/cp ../../../serial/POP_BroadcastMod.F90 . 11 | /bin/cp ../../../source/POP_KindsMod.F90 . 12 | /bin/cp ../../../source/POP_ErrorMod.F90 . 13 | /bin/cp ../../../source/POP_IOUnitsMod.F90 . 14 | 15 | gmake 16 | pop 17 | 18 | /bin/rm -r build 19 | /bin/rm -r compile 20 | /bin/rm GNUmakefile 21 | /bin/rm POP_CommMod.F90 22 | /bin/rm POP_BroadcastMod.F90 23 | /bin/rm POP_KindsMod.F90 24 | /bin/rm POP_ErrorMod.F90 25 | /bin/rm POP_IOUnitsMod.F90 26 | /bin/rm pop 27 | 28 | -------------------------------------------------------------------------------- /test/unit/broadcast/bcastTestMPI: -------------------------------------------------------------------------------- 1 | 2 | /bin/cp ../../../build/GNUmakefile . 3 | 4 | mkdir build 5 | /bin/cp -r ../../../build/*.awk build 6 | /bin/cp -r ../../../build/*.mk build 7 | /bin/cp -r ../../../build/*.gnu build 8 | 9 | /bin/cp ../../../mpi/POP_CommMod.F90 . 10 | /bin/cp ../../../mpi/POP_BroadcastMod.F90 . 11 | /bin/cp ../../../source/POP_KindsMod.F90 . 12 | /bin/cp ../../../source/POP_ErrorMod.F90 . 13 | /bin/cp ../../../source/POP_IOUnitsMod.F90 . 14 | 15 | gmake 16 | mpirun -np 4 pop 17 | 18 | /bin/rm -r build 19 | /bin/rm -r compile 20 | /bin/rm GNUmakefile 21 | /bin/rm POP_CommMod.F90 22 | /bin/rm POP_BroadcastMod.F90 23 | /bin/rm POP_KindsMod.F90 24 | /bin/rm POP_ErrorMod.F90 25 | /bin/rm POP_IOUnitsMod.F90 26 | /bin/rm pop 27 | 28 | -------------------------------------------------------------------------------- /input_templates/gx1v7_region_ids: -------------------------------------------------------------------------------- 1 | 1 'Southern Ocean ' 0.0 0.0 0.0 2 | 2 'Pacific Ocean ' 0.0 0.0 0.0 3 | 3 'Indian Ocean ' 0.0 0.0 0.0 4 | 4 'Persian Gulf ' 22.0 60.0 0.0 5 | -5 'Red Sea ' 14.0 47.0 3.0e15 6 | 6 'Atlantic Ocean ' 0.0 0.0 0.0 7 | 7 'Mediterranean Sea ' 36.0 354.0 0.0 8 | 8 'Labrador Sea ' 0.0 0.0 0.0 9 | 9 'GIN Sea ' 0.0 0.0 0.0 10 | 10 'Arctic Ocean ' 0.0 0.0 0.0 11 | 11 'Hudson Bay ' 61.0 295.0 0.0 12 | -12 'Baltic Sea ' 56.0 8.0 3.0e15 13 | -13 'Black Sea ' 40.0 25.0 3.0e15 14 | 15 | 16 | ! SVN:$Id$ 17 | -------------------------------------------------------------------------------- /input_templates/tx0.1v3_region_ids: -------------------------------------------------------------------------------- 1 | 1 'Southern Ocean ' 0.0 0.0 0.0 2 | 2 'Pacific Ocean ' 0.0 0.0 0.0 3 | 3 'Indian Ocean ' 0.0 0.0 0.0 4 | 4 'Persian Gulf ' 22.0 60.0 0.0 5 | 5 'Red Sea ' 14.0 47.0 3.0e15 6 | 6 'Atlantic Ocean ' 0.0 0.0 0.0 7 | 7 'Mediterranean Sea ' 36.0 354.0 0.0 8 | 8 'Labrador Sea ' 0.0 0.0 0.0 9 | 9 'GIN Sea ' 0.0 0.0 0.0 10 | 10 'Arctic Ocean ' 0.0 0.0 0.0 11 | 11 'Hudson Bay ' 61.0 295.0 0.0 12 | 12 'Baltic Sea ' 56.0 8.0 3.0e15 13 | -13 'Black Sea ' 40.0 25.0 3.0e15 14 | 15 | 16 | ! SVN:$Id$ 17 | -------------------------------------------------------------------------------- /input_templates/gx1v6_depth_accel: -------------------------------------------------------------------------------- 1 | 1.00000 2 | 1.00000 3 | 1.00000 4 | 1.00000 5 | 1.00000 6 | 1.00000 7 | 1.00000 8 | 1.00000 9 | 1.00000 10 | 1.00000 11 | 1.00000 12 | 1.00000 13 | 1.00000 14 | 1.00000 15 | 1.00000 16 | 1.00000 17 | 1.00000 18 | 1.00000 19 | 1.00000 20 | 1.00000 21 | 1.00000 22 | 1.00000 23 | 1.00000 24 | 1.00000 25 | 1.00000 26 | 1.00000 27 | 1.00000 28 | 1.00000 29 | 1.00000 30 | 1.00000 31 | 1.00000 32 | 1.00000 33 | 1.00000 34 | 1.00000 35 | 1.00000 36 | 1.00000 37 | 1.00000 38 | 1.00000 39 | 1.00000 40 | 1.00000 41 | 1.00000 42 | 1.00000 43 | 1.00000 44 | 1.00000 45 | 1.00000 46 | 1.00000 47 | 1.00000 48 | 1.00000 49 | 1.00000 50 | 1.00000 51 | 1.00000 52 | 1.00000 53 | 1.00000 54 | 1.00000 55 | 1.00000 56 | 1.00000 57 | 1.00000 58 | 1.00000 59 | 1.00000 60 | 1.00000 61 | -------------------------------------------------------------------------------- /input_templates/gx1v7_depth_accel: -------------------------------------------------------------------------------- 1 | 1.00000 2 | 1.00000 3 | 1.00000 4 | 1.00000 5 | 1.00000 6 | 1.00000 7 | 1.00000 8 | 1.00000 9 | 1.00000 10 | 1.00000 11 | 1.00000 12 | 1.00000 13 | 1.00000 14 | 1.00000 15 | 1.00000 16 | 1.00000 17 | 1.00000 18 | 1.00000 19 | 1.00000 20 | 1.00000 21 | 1.00000 22 | 1.00000 23 | 1.00000 24 | 1.00000 25 | 1.00000 26 | 1.00000 27 | 1.00000 28 | 1.00000 29 | 1.00000 30 | 1.00000 31 | 1.00000 32 | 1.00000 33 | 1.00000 34 | 1.00000 35 | 1.00000 36 | 1.00000 37 | 1.00000 38 | 1.00000 39 | 1.00000 40 | 1.00000 41 | 1.00000 42 | 1.00000 43 | 1.00000 44 | 1.00000 45 | 1.00000 46 | 1.00000 47 | 1.00000 48 | 1.00000 49 | 1.00000 50 | 1.00000 51 | 1.00000 52 | 1.00000 53 | 1.00000 54 | 1.00000 55 | 1.00000 56 | 1.00000 57 | 1.00000 58 | 1.00000 59 | 1.00000 60 | 1.00000 61 | -------------------------------------------------------------------------------- /input_templates/tx0.1v2_depth_accel: -------------------------------------------------------------------------------- 1 | 1.00000 2 | 1.00000 3 | 1.00000 4 | 1.00000 5 | 1.00000 6 | 1.00000 7 | 1.00000 8 | 1.00000 9 | 1.00000 10 | 1.00000 11 | 1.00000 12 | 1.00000 13 | 1.00000 14 | 1.00000 15 | 1.00000 16 | 1.00000 17 | 1.00000 18 | 1.00000 19 | 1.00000 20 | 1.00000 21 | 1.00000 22 | 1.00000 23 | 1.00000 24 | 1.00000 25 | 1.00000 26 | 1.00000 27 | 1.00000 28 | 1.00000 29 | 1.00000 30 | 1.00000 31 | 1.00000 32 | 1.00000 33 | 1.00000 34 | 1.00000 35 | 1.00000 36 | 1.00000 37 | 1.00000 38 | 1.00000 39 | 1.00000 40 | 1.00000 41 | 1.00000 42 | 1.00000 43 | 1.00000 44 | 1.00000 45 | 1.00000 46 | 1.00000 47 | 1.00000 48 | 1.00000 49 | 1.00000 50 | 1.00000 51 | 1.00000 52 | 1.00000 53 | 1.00000 54 | 1.00000 55 | 1.00000 56 | 1.00000 57 | 1.00000 58 | 1.00000 59 | 1.00000 60 | 1.00000 61 | -------------------------------------------------------------------------------- /test/unit/blockDistribution/blockDistTest: -------------------------------------------------------------------------------- 1 | 2 | /bin/cp ../../../build/GNUmakefile . 3 | 4 | mkdir build 5 | /bin/cp -r ../../../build/*.awk build 6 | /bin/cp -r ../../../build/*.mk build 7 | /bin/cp -r ../../../build/*.gnu build 8 | 9 | /bin/cp ../../../serial/POP_CommMod.F90 . 10 | /bin/cp ../../../source/POP_KindsMod.F90 . 11 | /bin/cp ../../../source/POP_ErrorMod.F90 . 12 | /bin/cp ../../../source/POP_IOUnitsMod.F90 . 13 | /bin/cp ../../../source/POP_BlocksMod.F90 . 14 | /bin/cp ../../../source/POP_DistributionMod.F90 . 15 | 16 | gmake OPTIMIZE=no 17 | pop_db 18 | 19 | /bin/rm -r build 20 | /bin/rm -r compile 21 | /bin/rm GNUmakefile 22 | /bin/rm POP_CommMod.F90 23 | /bin/rm POP_KindsMod.F90 24 | /bin/rm POP_ErrorMod.F90 25 | /bin/rm POP_IOUnitsMod.F90 26 | /bin/rm POP_BlocksMod.F90 27 | /bin/rm POP_DistributionMod.F90 28 | /bin/rm pop_db 29 | /bin/rm pop 30 | 31 | -------------------------------------------------------------------------------- /input_templates/gx1v6_region_ids: -------------------------------------------------------------------------------- 1 | 1 'Southern Ocean ' 0.0 0.0 0.0 2 | 2 'Pacific Ocean ' 0.0 0.0 0.0 3 | 3 'Indian Ocean ' 0.0 0.0 0.0 4 | 4 'Persian Gulf ' 22.0 60.0 0.0 5 | -5 'Red Sea ' 14.0 47.0 3.0e15 6 | 6 'Atlantic Ocean ' 0.0 0.0 0.0 7 | 7 'Mediterranean Sea ' 36.0 354.0 0.0 8 | 8 'Labrador Sea ' 0.0 0.0 0.0 9 | 9 'GIN Sea ' 0.0 0.0 0.0 10 | 10 'Arctic Ocean ' 0.0 0.0 0.0 11 | 11 'Hudson Bay ' 61.0 295.0 0.0 12 | -12 'Baltic Sea ' 56.0 8.0 3.0e15 13 | -13 'Black Sea ' 40.0 25.0 3.0e15 14 | -14 'Caspian Sea ' 70.0 65.0 3.0e15 15 | 16 | 17 | ! SVN:$Id$ 18 | -------------------------------------------------------------------------------- /input_templates/gx3v5_region_ids: -------------------------------------------------------------------------------- 1 | 1 'Southern Ocean ' 0.0 0.0 0.0 2 | 2 'Pacific Ocean ' 0.0 0.0 0.0 3 | 3 'Indian Ocean ' 0.0 0.0 0.0 4 | -4 'Persian Gulf ' 22.0 60.0 4.25e15 5 | -5 'Red Sea ' 12.0 45.0 2.25e15 6 | 6 'Atlantic Ocean ' 0.0 0.0 0.0 7 | -7 'Mediterranean Sea ' 36.0 354.0 3.25e15 8 | 8 'Labrador Sea ' 0.0 0.0 0.0 9 | 9 'GIN Sea ' 0.0 0.0 0.0 10 | 10 'Arctic Ocean ' 0.0 0.0 0.0 11 | 11 'Hudson Bay ' 0.0 0.0 0.0 12 | -12 'Baltic Sea ' 70.0 20.0 7.0e15 13 | -13 'Black Sea ' 36.0 354.0 3.25e15 14 | -14 'Caspian Sea ' 75.0 130.0 3.25e15 15 | 16 | 17 | ! SVN:$Id$ 18 | -------------------------------------------------------------------------------- /input_templates/tx0.1v3_depth_accel: -------------------------------------------------------------------------------- 1 | 1.00000 2 | 1.00000 3 | 1.00000 4 | 1.00000 5 | 1.00000 6 | 1.00000 7 | 1.00000 8 | 1.00000 9 | 1.00000 10 | 1.00000 11 | 1.00000 12 | 1.00000 13 | 1.00000 14 | 1.00000 15 | 1.00000 16 | 1.00000 17 | 1.00000 18 | 1.00000 19 | 1.00000 20 | 1.00000 21 | 1.00000 22 | 1.00000 23 | 1.00000 24 | 1.00000 25 | 1.00000 26 | 1.00000 27 | 1.00000 28 | 1.00000 29 | 1.00000 30 | 1.00000 31 | 1.00000 32 | 1.00000 33 | 1.00000 34 | 1.00000 35 | 1.00000 36 | 1.00000 37 | 1.00000 38 | 1.00000 39 | 1.00000 40 | 1.00000 41 | 1.00000 42 | 1.00000 43 | 1.00000 44 | 1.00000 45 | 1.00000 46 | 1.00000 47 | 1.00000 48 | 1.00000 49 | 1.00000 50 | 1.00000 51 | 1.00000 52 | 1.00000 53 | 1.00000 54 | 1.00000 55 | 1.00000 56 | 1.00000 57 | 1.00000 58 | 1.00000 59 | 1.00000 60 | 1.00000 61 | 1.00000 62 | 1.00000 63 | -------------------------------------------------------------------------------- /input_templates/tx0.1v2_region_ids: -------------------------------------------------------------------------------- 1 | 1 'Southern Ocean ' 0.0 0.0 0.0 2 | 2 'Pacific Ocean ' 0.0 0.0 0.0 3 | 3 'Indian Ocean ' 0.0 0.0 0.0 4 | 4 'Persian Gulf ' 22.0 60.0 0.0 5 | 5 'Red Sea ' 14.0 47.0 3.0e15 6 | 6 'Atlantic Ocean ' 0.0 0.0 0.0 7 | 7 'Mediterranean Sea ' 36.0 354.0 0.0 8 | 8 'Labrador Sea ' 0.0 0.0 0.0 9 | 9 'GIN Sea ' 0.0 0.0 0.0 10 | 10 'Arctic Ocean ' 0.0 0.0 0.0 11 | 11 'Hudson Bay ' 61.0 295.0 0.0 12 | 12 'Baltic Sea ' 56.0 8.0 3.0e15 13 | -13 'Black Sea ' 40.0 25.0 3.0e15 14 | -14 'Caspian Sea ' 70.0 65.0 3.0e15 15 | 16 | 17 | ! SVN:$Id$ 18 | -------------------------------------------------------------------------------- /input_templates/tx0.1v2_vert_grid: -------------------------------------------------------------------------------- 1 | 10.01244e+2 1.0 2 | 10.11258e+2 1.0 3 | 10.31682e+2 1.0 4 | 10.6333e+2 1.0 5 | 11.0751e+2 1.0 6 | 11.6615e+2 1.0 7 | 12.4193e+2 1.0 8 | 13.3861e+2 1.0 9 | 14.6140e+2 1.0 10 | 16.1756e+2 1.0 11 | 18.1737e+2 1.0 12 | 20.7556e+2 1.0 13 | 24.1368e+2 1.0 14 | 28.6382e+2 1.0 15 | 34.7464e+2 1.0 16 | 43.2086e+2 1.0 17 | 55.1681e+2 1.0 18 | 72.3046e+2 1.0 19 | 96.7490e+2 1.0 20 | 130.039e+2 1.0 21 | 170.049e+2 1.0 22 | 207.993e+2 1.0 23 | 233.569e+2 1.0 24 | 245.272e+2 1.0 25 | 248.980e+2 1.0 26 | 249.832e+2 1.0 27 | 249.979e+2 1.0 28 | 249.998e+2 1.0 29 | 250.000e+2 1.0 30 | 250.000e+2 1.0 31 | 250.000e+2 1.0 32 | 250.000e+2 1.0 33 | 250.000e+2 1.0 34 | 250.000e+2 1.0 35 | 250.000e+2 1.0 36 | 250.000e+2 1.0 37 | 250.000e+2 1.0 38 | 250.000e+2 1.0 39 | 250.000e+2 1.0 40 | 250.000e+2 1.0 41 | 250.000e+2 1.0 42 | 250.000e+2 1.0 43 | -------------------------------------------------------------------------------- /test/unit/redistribute/redistTestSerial: -------------------------------------------------------------------------------- 1 | 2 | /bin/cp ../../../build/GNUmakefile . 3 | 4 | mkdir build 5 | /bin/cp -r ../../../build/*.awk build 6 | /bin/cp -r ../../../build/*.mk build 7 | /bin/cp -r ../../../build/*.gnu build 8 | 9 | /bin/cp ../../../serial/POP_CommMod.F90 . 10 | /bin/cp ../../../serial/POP_RedistributeMod.F90 . 11 | /bin/cp ../../../source/POP_KindsMod.F90 . 12 | /bin/cp ../../../source/POP_ErrorMod.F90 . 13 | /bin/cp ../../../source/POP_IOUnitsMod.F90 . 14 | /bin/cp ../../../source/POP_BlocksMod.F90 . 15 | /bin/cp ../../../source/POP_DistributionMod.F90 . 16 | 17 | gmake 18 | pop 19 | 20 | /bin/rm -r build 21 | /bin/rm -r compile 22 | /bin/rm GNUmakefile 23 | /bin/rm POP_CommMod.F90 24 | /bin/rm POP_RedistributeMod.F90 25 | /bin/rm POP_KindsMod.F90 26 | /bin/rm POP_ErrorMod.F90 27 | /bin/rm POP_IOUnitsMod.F90 28 | /bin/rm POP_BlocksMod.F90 29 | /bin/rm POP_DistributionMod.F90 30 | /bin/rm pop 31 | 32 | -------------------------------------------------------------------------------- /test/unit/time_management/pop2_in: -------------------------------------------------------------------------------- 1 | &driver_nml 2 | iyear_end=3 3 | imonth_end=1 4 | iday_end=2 5 | / 6 | 7 | &time_manager_nml 8 | runid = 'test_time_manager' 9 | time_mix_opt = 'avgfit' 10 | time_mix_freq = 17 11 | dt_option = 'steps_per_day' 12 | dt_count = 180 13 | impcor = .true. 14 | laccel = .false. 15 | accel_file = 'unknown' 16 | dtuxcel = 1.0 17 | allow_leapyear = .false. 18 | iyear0 = 1 19 | imonth0 = 1 20 | iday0 = 1 21 | ihour0 = 0 22 | iminute0 = 0 23 | isecond0 = 0 24 | date_separator = '-' 25 | stop_option = 'nyear' 26 | stop_count = 3 27 | fit_freq = 72 28 | / 29 | 30 | &coupled_nml 31 | coupled_freq_opt = 'nsecond' 32 | coupled_freq = 1200 33 | qsw_distrb_opt = 'cosz' 34 | / 35 | 36 | -------------------------------------------------------------------------------- /input_templates/gx3v7_region_ids: -------------------------------------------------------------------------------- 1 | 1 'Southern Ocean ' 0.0 0.0 0.0 2 | 2 'Pacific Ocean ' 0.0 0.0 0.0 3 | 3 'Indian Ocean ' 0.0 0.0 0.0 4 | -4 'Persian Gulf ' 22.0 60.0 4.25e15 5 | -5 'Red Sea ' 12.0 45.0 2.25e15 6 | 6 'Atlantic Ocean ' 0.0 0.0 0.0 7 | 7 'Mediterranean Sea ' 0.0 0.0 0.0 8 | 8 'Labrador Sea ' 0.0 0.0 0.0 9 | 9 'GIN Sea ' 0.0 0.0 0.0 10 | 10 'Arctic Ocean ' 0.0 0.0 0.0 11 | 11 'Hudson Bay ' 0.0 0.0 0.0 12 | -12 'Baltic Sea ' 70.0 20.0 7.0e15 13 | -13 'Black Sea ' 36.0 354.0 3.25e15 14 | -14 'Caspian Sea ' 75.0 130.0 3.25e15 15 | 16 | 17 | ! SVN:$Id: gx3v7_region_ids 901 2006-05-08 20:47:20Z njn01 $ 18 | -------------------------------------------------------------------------------- /test/unit/redistribute/redistTestMPI: -------------------------------------------------------------------------------- 1 | 2 | /bin/cp ../../../build/GNUmakefile . 3 | 4 | mkdir build 5 | /bin/cp -r ../../../build/*.awk build 6 | /bin/cp -r ../../../build/*.mk build 7 | /bin/cp -r ../../../build/*.gnu build 8 | 9 | /bin/cp ../../../mpi/POP_CommMod.F90 . 10 | /bin/cp ../../../mpi/POP_RedistributeMod.F90 . 11 | /bin/cp ../../../source/POP_KindsMod.F90 . 12 | /bin/cp ../../../source/POP_ErrorMod.F90 . 13 | /bin/cp ../../../source/POP_IOUnitsMod.F90 . 14 | /bin/cp ../../../source/POP_BlocksMod.F90 . 15 | /bin/cp ../../../source/POP_DistributionMod.F90 . 16 | 17 | gmake 18 | mpirun -np 4 pop 19 | 20 | /bin/rm -r build 21 | /bin/rm -r compile 22 | /bin/rm GNUmakefile 23 | /bin/rm POP_CommMod.F90 24 | /bin/rm POP_RedistributeMod.F90 25 | /bin/rm POP_KindsMod.F90 26 | /bin/rm POP_ErrorMod.F90 27 | /bin/rm POP_IOUnitsMod.F90 28 | /bin/rm POP_BlocksMod.F90 29 | /bin/rm POP_DistributionMod.F90 30 | /bin/rm pop 31 | 32 | -------------------------------------------------------------------------------- /input_templates/gx1v6_1D_tavg_contents: -------------------------------------------------------------------------------- 1 | # An integer [1,9] in the first column identifies the field's output stream number. 2 | # To deactivate a field, replace the output stream number with # or ! 3 | 1 QFLUX 4 | 1 QSW_HTP 5 | 1 QSW_HBL 6 | 1 SHF 7 | 1 SHF_QSW 8 | 1 SFWF 9 | 1 PREC_F 10 | 1 SNOW_F 11 | 1 EVAP_F 12 | 1 MELT_F 13 | 1 ROFF_F 14 | 1 SENH_F 15 | 1 LWUP_F 16 | 1 LWDN_F 17 | 1 MELTH_F 18 | 1 IFRAC 19 | 1 TAUX 20 | 1 TAUY 21 | 1 HMXL 22 | 2 HMXL_2 23 | 1 XMXL 24 | 2 XMXL_2 25 | 1 TMXL 26 | 1 HBLT 27 | 1 XBLT 28 | 1 TBLT 29 | 1 UVEL 30 | 1 VVEL 31 | 1 TEMP 32 | 1 dTEMP_POS_2D 33 | 1 dTEMP_NEG_2D 34 | 1 SALT 35 | 1 RHO 36 | 1 KVMIX 37 | 1 TPOWER 38 | 2 SST 39 | 2 SST2 40 | 1 VDC_T 41 | 1 VDC_S 42 | 1 UVEL2 43 | 1 VVEL2 44 | 1 RHO_VINT 45 | 1 TAUX2 46 | 1 TAUY2 47 | 1 VVC 48 | 3 VDC_BCK 49 | 3 VVC_BCK 50 | 1 KVMIX_M 51 | # SALT_MAX 52 | # SALT_MIN 53 | # TEMP_MAX 54 | # TEMP_MIN 55 | -------------------------------------------------------------------------------- /input_templates/gx1v7_1D_tavg_contents: -------------------------------------------------------------------------------- 1 | # An integer [1,9] in the first column identifies the field's output stream number. 2 | # To deactivate a field, replace the output stream number with # or ! 3 | 1 QFLUX 4 | 1 QSW_HTP 5 | 1 QSW_HBL 6 | 1 SHF 7 | 1 SHF_QSW 8 | 1 SFWF 9 | 1 PREC_F 10 | 1 SNOW_F 11 | 1 EVAP_F 12 | 1 MELT_F 13 | 1 ROFF_F 14 | 1 SENH_F 15 | 1 LWUP_F 16 | 1 LWDN_F 17 | 1 MELTH_F 18 | 1 IFRAC 19 | 1 TAUX 20 | 1 TAUY 21 | 1 HMXL 22 | 2 HMXL_2 23 | 1 XMXL 24 | 2 XMXL_2 25 | 1 TMXL 26 | 1 HBLT 27 | 1 XBLT 28 | 1 TBLT 29 | 1 UVEL 30 | 1 VVEL 31 | 1 TEMP 32 | 1 dTEMP_POS_2D 33 | 1 dTEMP_NEG_2D 34 | 1 SALT 35 | 1 RHO 36 | 1 KVMIX 37 | 1 TPOWER 38 | 2 SST 39 | 2 SST2 40 | 1 VDC_T 41 | 1 VDC_S 42 | 1 UVEL2 43 | 1 VVEL2 44 | 1 RHO_VINT 45 | 1 TAUX2 46 | 1 TAUY2 47 | 1 VVC 48 | 3 VDC_BCK 49 | 3 VVC_BCK 50 | 1 KVMIX_M 51 | # SALT_MAX 52 | # SALT_MIN 53 | # TEMP_MAX 54 | # TEMP_MIN 55 | -------------------------------------------------------------------------------- /input_templates/gx3v7_1D_tavg_contents: -------------------------------------------------------------------------------- 1 | # An integer [1,9] in the first column identifies the field's output stream number. 2 | # To deactivate a field, replace the output stream number with # or ! 3 | 1 QFLUX 4 | 1 QSW_HTP 5 | 1 QSW_HBL 6 | 1 SHF 7 | 1 SHF_QSW 8 | 1 SFWF 9 | 1 PREC_F 10 | 1 SNOW_F 11 | 1 EVAP_F 12 | 1 MELT_F 13 | 1 ROFF_F 14 | 1 SENH_F 15 | 1 LWUP_F 16 | 1 LWDN_F 17 | 1 MELTH_F 18 | 1 IFRAC 19 | 1 TAUX 20 | 1 TAUY 21 | 1 HMXL 22 | 2 HMXL_2 23 | 1 XMXL 24 | 2 XMXL_2 25 | 1 TMXL 26 | 1 HBLT 27 | 1 XBLT 28 | 1 TBLT 29 | 1 UVEL 30 | 1 VVEL 31 | 1 TEMP 32 | 1 dTEMP_POS_2D 33 | 1 dTEMP_NEG_2D 34 | 1 SALT 35 | 1 RHO 36 | 1 KVMIX 37 | 1 TPOWER 38 | 2 SST 39 | 2 SST2 40 | 1 VDC_T 41 | 1 VDC_S 42 | 1 UVEL2 43 | 1 VVEL2 44 | 1 RHO_VINT 45 | 1 TAUX2 46 | 1 TAUY2 47 | 1 VVC 48 | 3 VDC_BCK 49 | 3 VVC_BCK 50 | 1 KVMIX_M 51 | 1 SALT_MAX 52 | 1 SALT_MIN 53 | 1 TEMP_MAX 54 | 1 TEMP_MIN 55 | -------------------------------------------------------------------------------- /externals/manage_externals/.travis.yml: -------------------------------------------------------------------------------- 1 | # NOTE(bja, 2017-11) travis-ci dosen't support python language builds 2 | # on mac os. As a work around, we use built-in python on linux, and 3 | # declare osx a 'generic' language, and create our own python env. 4 | 5 | language: python 6 | os: linux 7 | python: 8 | - "2.7" 9 | - "3.4" 10 | - "3.5" 11 | - "3.6" 12 | matrix: 13 | include: 14 | - os: osx 15 | language: generic 16 | before_install: 17 | # NOTE(bja, 2017-11) update is slow, 2.7.12 installed by default, good enough! 18 | # - brew update 19 | # - brew outdated python2 || brew upgrade python2 20 | - pip install virtualenv 21 | - virtualenv env -p python2 22 | - source env/bin/activate 23 | install: 24 | - pip install -r test/requirements.txt 25 | before_script: 26 | - git --version 27 | script: 28 | - cd test; make test 29 | - cd test; make lint 30 | after_success: 31 | - cd test; make coverage 32 | - cd test; coveralls 33 | -------------------------------------------------------------------------------- /input_templates/gx3v5_vert_grid: -------------------------------------------------------------------------------- 1 | 800.0000 4.0000 8.0000 2 | 844.0491 12.2202 16.4405 3 | 929.6631 21.0888 25.7371 4 | 1053.6499 31.0054 36.2736 5 | 1223.6694 42.3920 48.5103 6 | 1453.6835 55.7787 63.0471 7 | 1765.4266 71.8743 80.7014 8 | 2191.9463 91.6611 102.6209 9 | 2783.6519 116.5391 130.4574 10 | 3618.2158 148.5485 166.6396 11 | 4816.2813 190.7210 214.8024 12 | 6564.9385 247.6271 280.4518 13 | 9147.5068 326.1893 371.9268 14 | 12961.9473 436.7366 501.5463 15 | 18460.4219 593.8484 686.1505 16 | 25847.6172 815.3886 944.6267 17 | 33577.2070 1112.5128 1280.3988 18 | 38880.9805 1474.8037 1669.2086 19 | 42921.6719 1883.8169 2098.4253 20 | 45700.5586 2326.9282 2555.4309 21 | 47471.4297 2792.7881 3030.1453 22 | 48543.1836 3272.8613 3515.5771 23 | 49171.0508 3761.4324 4007.2876 24 | 49531.7461 4254.9463 4502.6050 25 | 49736.5977 4751.2876 4999.9707 26 | -------------------------------------------------------------------------------- /source/tracer_types.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module tracer_types 4 | 5 | !BOP 6 | ! !MODULE: tracer_types 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains f90 derived type information for passive tracers 10 | ! 11 | ! !REVISION HISTORY: 12 | ! SVN:$Id$ 13 | 14 | ! !USES: 15 | 16 | use kinds_mod 17 | 18 | implicit none 19 | save 20 | 21 | !EOP 22 | !BOC 23 | !----------------------------------------------------------------------- 24 | ! define constants f90 types used for passive tracer tavg registration 25 | !----------------------------------------------------------------------- 26 | 27 | integer (int_kind), parameter :: & 28 | tavg_passive_interior_type = 1 & 29 | , tavg_passive_stf_type = 2 30 | 31 | 32 | type tavg_passive_nonstd 33 | character(char_len) :: sname 34 | integer (int_kind) :: grid, type, ndims 35 | real(r4), dimension(:,:,:), pointer :: data 36 | end type tavg_passive_nonstd 37 | 38 | 39 | end module tracer_types 40 | 41 | -------------------------------------------------------------------------------- /test/unit/reduction/reductionTestSerial: -------------------------------------------------------------------------------- 1 | 2 | /bin/cp ../../../build/GNUmakefile . 3 | 4 | mkdir build 5 | /bin/cp -r ../../../build/*.awk build 6 | /bin/cp -r ../../../build/*.mk build 7 | /bin/cp -r ../../../build/*.gnu build 8 | 9 | /bin/cp ../../../serial/POP_CommMod.F90 . 10 | /bin/cp ../../../serial/POP_RedistributeMod.F90 . 11 | /bin/cp ../../../serial/POP_ReductionsMod.F90 . 12 | /bin/cp ../../../source/POP_KindsMod.F90 . 13 | /bin/cp ../../../source/POP_ErrorMod.F90 . 14 | /bin/cp ../../../source/POP_IOUnitsMod.F90 . 15 | /bin/cp ../../../source/POP_BlocksMod.F90 . 16 | /bin/cp ../../../source/POP_DistributionMod.F90 . 17 | /bin/cp ../../../source/POP_GridHorzMod.F90 . 18 | 19 | gmake 20 | pop 21 | 22 | /bin/rm -r build 23 | /bin/rm -r compile 24 | /bin/rm GNUmakefile 25 | /bin/rm POP_CommMod.F90 26 | /bin/rm POP_RedistributeMod.F90 27 | /bin/rm POP_ReductionsMod.F90 28 | /bin/rm POP_KindsMod.F90 29 | /bin/rm POP_ErrorMod.F90 30 | /bin/rm POP_IOUnitsMod.F90 31 | /bin/rm POP_BlocksMod.F90 32 | /bin/rm POP_DistributionMod.F90 33 | /bin/rm POP_GridHorzMod.F90 34 | /bin/rm pop 35 | 36 | 37 | -------------------------------------------------------------------------------- /test/unit/reduction/reductionTestMPI: -------------------------------------------------------------------------------- 1 | 2 | /bin/cp ../../../build/GNUmakefile . 3 | 4 | mkdir build 5 | /bin/cp -r ../../../build/*.awk build 6 | /bin/cp -r ../../../build/*.mk build 7 | /bin/cp -r ../../../build/*.gnu build 8 | 9 | /bin/cp ../../../mpi/POP_CommMod.F90 . 10 | /bin/cp ../../../mpi/POP_RedistributeMod.F90 . 11 | /bin/cp ../../../mpi/POP_ReductionsMod.F90 . 12 | /bin/cp ../../../source/POP_KindsMod.F90 . 13 | /bin/cp ../../../source/POP_ErrorMod.F90 . 14 | /bin/cp ../../../source/POP_IOUnitsMod.F90 . 15 | /bin/cp ../../../source/POP_BlocksMod.F90 . 16 | /bin/cp ../../../source/POP_DistributionMod.F90 . 17 | /bin/cp ../../../source/POP_GridHorzMod.F90 . 18 | 19 | gmake 20 | mpirun -np 4 pop 21 | 22 | /bin/rm -r build 23 | /bin/rm -r compile 24 | /bin/rm GNUmakefile 25 | /bin/rm POP_CommMod.F90 26 | /bin/rm POP_RedistributeMod.F90 27 | /bin/rm POP_ReductionsMod.F90 28 | /bin/rm POP_KindsMod.F90 29 | /bin/rm POP_ErrorMod.F90 30 | /bin/rm POP_IOUnitsMod.F90 31 | /bin/rm POP_BlocksMod.F90 32 | /bin/rm POP_DistributionMod.F90 33 | /bin/rm POP_GridHorzMod.F90 34 | /bin/rm pop 35 | 36 | 37 | -------------------------------------------------------------------------------- /externals/manage_externals/manic/repository_factory.py: -------------------------------------------------------------------------------- 1 | """Factory for creating and initializing the appropriate repository class 2 | """ 3 | 4 | from __future__ import absolute_import 5 | from __future__ import unicode_literals 6 | from __future__ import print_function 7 | 8 | from .repository_git import GitRepository 9 | from .repository_svn import SvnRepository 10 | from .externals_description import ExternalsDescription 11 | from .utils import fatal_error 12 | 13 | 14 | def create_repository(component_name, repo_info): 15 | """Determine what type of repository we have, i.e. git or svn, and 16 | create the appropriate object. 17 | 18 | """ 19 | protocol = repo_info[ExternalsDescription.PROTOCOL].lower() 20 | if protocol == 'git': 21 | repo = GitRepository(component_name, repo_info) 22 | elif protocol == 'svn': 23 | repo = SvnRepository(component_name, repo_info) 24 | elif protocol == 'externals_only': 25 | repo = None 26 | else: 27 | msg = 'Unknown repo protocol "{0}"'.format(protocol) 28 | fatal_error(msg) 29 | return repo 30 | -------------------------------------------------------------------------------- /externals/manage_externals/checkout_externals: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | """Main driver wrapper around the manic/checkout utility. 4 | 5 | Tool to assemble external respositories represented in an externals 6 | description file. 7 | 8 | """ 9 | from __future__ import absolute_import 10 | from __future__ import unicode_literals 11 | from __future__ import print_function 12 | 13 | import sys 14 | import traceback 15 | 16 | import manic 17 | 18 | if sys.hexversion < 0x02070000: 19 | print(70 * '*') 20 | print('ERROR: {0} requires python >= 2.7.x. '.format(sys.argv[0])) 21 | print('It appears that you are running python {0}'.format( 22 | '.'.join(str(x) for x in sys.version_info[0:3]))) 23 | print(70 * '*') 24 | sys.exit(1) 25 | 26 | 27 | if __name__ == '__main__': 28 | ARGS = manic.checkout.commandline_arguments() 29 | try: 30 | RET_STATUS, _ = manic.checkout.main(ARGS) 31 | sys.exit(RET_STATUS) 32 | except Exception as error: # pylint: disable=broad-except 33 | manic.printlog(str(error)) 34 | if ARGS.backtrace: 35 | traceback.print_exc() 36 | sys.exit(1) 37 | -------------------------------------------------------------------------------- /input_templates/gx3v5_tavg_contents: -------------------------------------------------------------------------------- 1 | # An integer [1,9] in the first column identifies the field's output stream number. 2 | # To deactivate a field, replace the output stream number with # or ! 3 | 1 QFLUX 4 | 1 BSF 5 | 1 TFW_T 6 | 1 TFW_S 7 | 1 RESID_T 8 | 1 RESID_S 9 | 1 QSW_HTP 10 | 1 QSW_HBL 11 | 1 SHF 12 | 1 SHF_QSW 13 | 1 SFWF 14 | 1 PREC_F 15 | 1 SNOW_F 16 | 1 EVAP_F 17 | 1 MELT_F 18 | 1 ROFF_F 19 | 1 IOFF_F 20 | 1 SALT_F 21 | 1 SENH_F 22 | 1 LWUP_F 23 | 1 LWDN_F 24 | 1 MELTH_F 25 | 1 IFRAC 26 | 1 SSH 27 | 1 TAUX 28 | 1 TAUY 29 | 1 SU 30 | 1 SV 31 | 1 HMXL 32 | 2 HMXL_2 33 | 1 XMXL 34 | 2 XMXL_2 35 | 1 TMXL 36 | 1 HBLT 37 | 1 XBLT 38 | 1 TBLT 39 | 1 FW 40 | 1 ADVT 41 | 1 ADVS 42 | 1 HDIFT 43 | 1 HDIFS 44 | 1 UVEL 45 | 1 VVEL 46 | 1 WVEL 47 | 1 TEMP 48 | 1 dTEMP_POS_2D 49 | 1 dTEMP_NEG_2D 50 | 1 SALT 51 | 1 PD 52 | 1 Q 53 | 1 RHO 54 | 1 UET 55 | 1 UES 56 | 1 VNT 57 | 1 VNS 58 | 1 WTT 59 | 1 WTS 60 | 1 KAPPA_ISOP 61 | 1 KAPPA_THIC 62 | 1 HOR_DIFF 63 | 1 PV 64 | 1 KVMIX 65 | 1 TPOWER 66 | 1 DIA_DEPTH 67 | 1 TLT 68 | 1 INT_DEPTH 69 | 2 SST 70 | 2 SST2 71 | 1 VDC_T 72 | 1 VDC_S 73 | 1 UVEL2 74 | 1 VVEL2 75 | 1 WVEL2 76 | 1 RHO_VINT 77 | 1 SFWF_WRST 78 | 1 TAUX2 79 | 1 TAUY2 80 | 1 SSH2 81 | 1 VVC 82 | 3 VDC_BCK 83 | 3 VVC_BCK 84 | 1 KVMIX_M 85 | -------------------------------------------------------------------------------- /bld/regen_list.csh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env -S csh -f 2 | 3 | #============================================================================== 4 | # Purpose: Regenerate Buildnml_Prestage/pop.input_data_list after 5 | # changing OCN_TRACER_MODULES in the $case directory 6 | # 7 | # Usage: Execute regen_list.csh in the $case directory 8 | #============================================================================== 9 | 10 | set CASEROOT = `./xmlquery CASEROOT -value` 11 | set SRCROOT = `./xmlquery SRCROOT -value` 12 | set EXEROOT = `./xmlquery EXEROOT -value` 13 | set OCNGRID = `./xmlquery OCNGRID -value` 14 | set OCN_TRACER_MODULES = `./xmlquery OCN_TRACER_MODULES -value` 15 | 16 | set srcdir = $SRCROOT/components/pop 17 | set my_path = $CASEROOT/SourceMods/src.pop 18 | 19 | set INPUT_TEMPLATES = $srcdir/input_templates 20 | set INPUT = $EXEROOT/ocn/input 21 | 22 | #------------------------------------------------------------ 23 | # regenerate the $CASEROOT/Buildconf/pop.input_data_list file 24 | #------------------------------------------------------------ 25 | 26 | cat $INPUT_TEMPLATES/${OCN_GRID}_inputdata >&! $CASEROOT/Buildnml_Prestage/pop.input_data_list 27 | foreach module ( `echo $OCN_TRACER_MODULES` ) 28 | $srcdir/input_templates/ocn.${module}.setup.csh ccsm_prestage $CASEROOT/Buildnml_Prestage/pop.input_data_list 29 | end 30 | -------------------------------------------------------------------------------- /input_templates/ocn.sf6.tavg.csh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env -S csh -f 2 | 3 | #------------------------------------------------------------------------------------ 4 | # For now, set streams manually. You must only set as many streams as are declared 5 | # in the tavg_nml section. For example, if there are three streams: 6 | # @ s1 = $my_stream 7 | # @ s2 = $s1 + 1 8 | # @ s3 = $s2 + 1 9 | #------------------------------------------------------------------------------------ 10 | 11 | @ my_stream = $1 12 | if ($my_stream < 1) then 13 | echo invalid my_stream number ($my_stream) 14 | exit 5 15 | endif 16 | 17 | @ s1 = 1 # use base-model stream 1 18 | 19 | cat >! $CASEROOT/Buildconf/popconf/sf6_tavg_contents << EOF 20 | $s1 SF6_IFRAC 21 | $s1 SF6_XKW 22 | $s1 SF6_ATM_PRESS 23 | $s1 STF_SF6 24 | $s1 SF6 25 | EOF 26 | 27 | if ($OCN_TAVG_TRACER_BUDGET == TRUE) then 28 | cat >> $CASEROOT/Buildconf/popconf/sf6_tavg_contents << EOF 29 | $s1 KPP_SRC_SF6 30 | $s1 DIA_IMPVF_SF6 31 | $s1 HDIFE_SF6 32 | $s1 HDIFN_SF6 33 | $s1 HDIFB_SF6 34 | $s1 UE_SF6 35 | $s1 VN_SF6 36 | $s1 WT_SF6 37 | $s1 TEND_SF6 38 | EOF 39 | # disable the following until they can be added based on model settings 40 | # RF_TEND_SF6 41 | # Redi_TEND_SF6 42 | endif 43 | 44 | #=============================================================================== 45 | # The following are fields computed by the SF6 modules that are not placed in 46 | # the tavg file by default. 47 | # 48 | #1 pSF6 49 | #1 SF6_SCHMIDT 50 | #1 SF6_PV 51 | #1 SF6_surf_sat 52 | #=============================================================================== 53 | -------------------------------------------------------------------------------- /input_templates/gx3v7_tavg_contents: -------------------------------------------------------------------------------- 1 | # An integer [1,9] in the first column identifies the field's output stream number. 2 | # To deactivate a field, replace the output stream number with # or ! 3 | 1 QFLUX 4 | 1 BSF 5 | 1 TFW_T 6 | 1 TFW_S 7 | 1 RESID_T 8 | 1 RESID_S 9 | 1 QSW_HTP 10 | 1 QSW_HBL 11 | 1 SHF 12 | 1 SHF_QSW 13 | 1 SFWF 14 | 1 PREC_F 15 | 1 SNOW_F 16 | 1 EVAP_F 17 | 1 MELT_F 18 | 1 ROFF_F 19 | 1 IOFF_F 20 | 1 SALT_F 21 | 1 SENH_F 22 | 1 LWUP_F 23 | 1 LWDN_F 24 | 1 MELTH_F 25 | 1 IFRAC 26 | 1 SSH 27 | 1 TAUX 28 | 1 TAUY 29 | 1 SU 30 | 1 SV 31 | 1 HMXL 32 | 2 HMXL_2 33 | 1 HMXL_DR 34 | 1 XMXL 35 | 2 XMXL_2 36 | 1 TMXL 37 | 1 HBLT 38 | 1 XBLT 39 | 1 TBLT 40 | 1 FW 41 | 1 ADVT 42 | 1 ADVS 43 | 1 HDIFT 44 | 1 HDIFS 45 | 1 UVEL 46 | 1 VVEL 47 | 1 WVEL 48 | 1 TEMP 49 | 1 TEND_TEMP 50 | 1 ADV_3D_TEMP 51 | 1 DIA_IMPVF_TEMP 52 | 1 dTEMP_POS_2D 53 | 1 dTEMP_NEG_2D 54 | 1 SALT 55 | 1 TEND_SALT 56 | 1 ADV_3D_SALT 57 | 1 DIA_IMPVF_SALT 58 | 1 PD 59 | 1 Q 60 | 1 RHO 61 | 1 UET 62 | 1 UES 63 | 1 VNT 64 | 1 VNS 65 | 1 WTT 66 | 1 WTS 67 | 1 KAPPA_ISOP 68 | 1 KAPPA_THIC 69 | 1 HOR_DIFF 70 | 1 PV 71 | 1 KVMIX 72 | 1 TPOWER 73 | 1 DIA_DEPTH 74 | 1 TLT 75 | 1 INT_DEPTH 76 | 2 SST 77 | 2 SST2 78 | 1 VDC_T 79 | 1 VDC_S 80 | 1 UVEL2 81 | 1 VVEL2 82 | 1 WVEL2 83 | 1 RHO_VINT 84 | 1 SFWF_WRST 85 | 1 TAUX2 86 | 1 TAUY2 87 | 1 SSH2 88 | 1 VVC 89 | 3 VDC_BCK 90 | 3 VVC_BCK 91 | 1 KVMIX_M 92 | 1 SALT_MAX 93 | 1 SALT_MIN 94 | 1 TEMP_MAX 95 | 1 TEMP_MIN 96 | 1 QSW_3D 97 | 1 TEMP2 98 | 1 HMXL_DR2 99 | 2 SSS 100 | -------------------------------------------------------------------------------- /input_templates/tx0.1v3_vert_grid: -------------------------------------------------------------------------------- 1 | 1000.0000 1.0 2 | 1000.0000 1.0 3 | 1000.0000 1.0 4 | 1000.0000 1.0 5 | 1000.0000 1.0 6 | 1000.0000 1.0 7 | 1000.0000 1.0 8 | 1000.0000 1.0 9 | 1000.0000 1.0 10 | 1000.0000 1.0 11 | 1000.0000 1.0 12 | 1000.0000 1.0 13 | 1000.0000 1.0 14 | 1000.0000 1.0 15 | 1000.0000 1.0 16 | 1000.0000 1.0 17 | 1019.6808 1.0 18 | 1056.4484 1.0 19 | 1105.9951 1.0 20 | 1167.8070 1.0 21 | 1242.4133 1.0 22 | 1330.9678 1.0 23 | 1435.1410 1.0 24 | 1557.1259 1.0 25 | 1699.6796 1.0 26 | 1866.2124 1.0 27 | 2060.9023 1.0 28 | 2288.8521 1.0 29 | 2556.2471 1.0 30 | 2870.5750 1.0 31 | 3240.8372 1.0 32 | 3677.7725 1.0 33 | 4194.0308 1.0 34 | 4804.2236 1.0 35 | 5524.7544 1.0 36 | 6373.1919 1.0 37 | 7366.9448 1.0 38 | 8520.8926 1.0 39 | 9843.6582 1.0 40 | 11332.4658 1.0 41 | 12967.1992 1.0 42 | 14705.3438 1.0 43 | 16480.7090 1.0 44 | 18209.1348 1.0 45 | 19802.2344 1.0 46 | 21185.9570 1.0 47 | 22316.5098 1.0 48 | 23186.4941 1.0 49 | 23819.4492 1.0 50 | 24257.2168 1.0 51 | 24546.7793 1.0 52 | 24731.0137 1.0 53 | 24844.3281 1.0 54 | 24911.9746 1.0 55 | 24951.2910 1.0 56 | 24973.5938 1.0 57 | 24985.9609 1.0 58 | 24992.6738 1.0 59 | 24996.2441 1.0 60 | 24998.1094 1.0 61 | 25000.0000 1.0 62 | 25000.0000 1.0 63 | -------------------------------------------------------------------------------- /input_templates/ocn.iage.tavg.csh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env -S csh -f 2 | 3 | #------------------------------------------------------------------------------------ 4 | # For now, set streams manually. You must only set as many streams as are declared 5 | # in the tavg_nml section. For example, if there are three streams: 6 | # @ s1 = $my_stream 7 | # @ s2 = $s1 + 1 8 | # @ s3 = $s2 + 1 9 | #------------------------------------------------------------------------------------ 10 | 11 | @ my_stream = $1 12 | if ($my_stream < 1) then 13 | echo invalid my_stream number $my_stream 14 | exit 5 15 | endif 16 | 17 | @ s1 = 1 # use base-model stream 1 18 | 19 | cat >! $CASEROOT/Buildconf/popconf/iage_tavg_contents << EOF 20 | $s1 IAGE 21 | EOF 22 | 23 | #------------------------------------------------------------------------------------- 24 | # Add optional tracer budget terms 25 | #------------------------------------------------------------------------------------- 26 | if ($OCN_TAVG_TRACER_BUDGET == TRUE) then 27 | cat >> $CASEROOT/Buildconf/popconf/iage_tavg_contents << EOF 28 | $s1 IAGE_RESET_TEND 29 | $s1 DIA_IMPVF_IAGE 30 | $s1 HDIFE_IAGE 31 | $s1 HDIFN_IAGE 32 | $s1 HDIFB_IAGE 33 | $s1 UE_IAGE 34 | $s1 VN_IAGE 35 | $s1 WT_IAGE 36 | $s1 TEND_IAGE 37 | $s1 ADV_3D_IAGE 38 | EOF 39 | # disable the following until they can be added based on model settings 40 | # RF_TEND_IAGE 41 | # Redi_TEND_IAGE 42 | # IAGE_FLUX_EXCH_INTRF 43 | # ISOP_ADV_TEND_IAGE 44 | # SUBM_ADV_TEND_IAGE 45 | endif 46 | 47 | # disable the following until they are computed correctly 48 | # IAGE_SQR 49 | # UE_IAGE 50 | # VN_IAGE 51 | # WT_IAGE 52 | # ADV_IAGE 53 | # J_IAGE 54 | # Jint_IAGE 55 | # STF_IAGE 56 | # RESID_IAGE 57 | # FvPER_IAGE 58 | # FvICE_IAGE 59 | -------------------------------------------------------------------------------- /input_templates/gx1v6_tavg_contents: -------------------------------------------------------------------------------- 1 | # An integer [1,9] in the first column identifies the field's output stream number. 2 | # To deactivate a field, replace the output stream number with # or ! 3 | 1 QFLUX 4 | 1 BSF 5 | 1 TFW_T 6 | 1 TFW_S 7 | 1 RESID_T 8 | 1 RESID_S 9 | 1 QSW_HTP 10 | 1 QSW_HBL 11 | 1 SHF 12 | 1 SHF_QSW 13 | 1 SFWF 14 | 1 PREC_F 15 | 1 SNOW_F 16 | 1 EVAP_F 17 | 1 MELT_F 18 | 1 ROFF_F 19 | 1 IOFF_F 20 | 1 SALT_F 21 | 1 SENH_F 22 | 1 LWUP_F 23 | 1 LWDN_F 24 | 1 MELTH_F 25 | 1 IFRAC 26 | 1 SSH 27 | 1 TAUX 28 | 1 TAUY 29 | 1 SU 30 | 1 SV 31 | 1 HMXL 32 | 2 HMXL_2 33 | 1 HMXL_DR 34 | 1 XMXL 35 | 2 XMXL_2 36 | 1 TMXL 37 | 1 HBLT 38 | 1 XBLT 39 | 1 TBLT 40 | 1 FW 41 | 1 ADVT 42 | 1 ADVS 43 | 1 HDIFT 44 | 1 HDIFS 45 | 1 UVEL 46 | 1 VVEL 47 | 1 WVEL 48 | 1 TEMP 49 | 1 TEND_TEMP 50 | 1 ADV_3D_TEMP 51 | 1 DIA_IMPVF_TEMP 52 | 1 T_FLUX_EXCH_INTRF 53 | 1 RF_TEND_TEMP 54 | 1 dTEMP_POS_2D 55 | 1 dTEMP_NEG_2D 56 | 1 SALT 57 | 1 TEND_SALT 58 | 1 ADV_3D_SALT 59 | 1 DIA_IMPVF_SALT 60 | 1 S_FLUX_EXCH_INTRF 61 | 1 S_FLUX_ROFF_VSF_SRF 62 | 1 RF_TEND_SALT 63 | 1 PD 64 | 1 Q 65 | 1 RHO 66 | 1 UET 67 | 1 UES 68 | 1 VNT 69 | 1 VNS 70 | 1 WTT 71 | 1 WTS 72 | 1 KAPPA_ISOP 73 | 1 KAPPA_THIC 74 | 1 HOR_DIFF 75 | 1 PV 76 | 1 KVMIX 77 | 1 TPOWER 78 | 1 DIA_DEPTH 79 | 1 TLT 80 | 1 INT_DEPTH 81 | 2 SST 82 | 2 SST2 83 | 1 VDC_T 84 | 1 VDC_S 85 | 1 UVEL2 86 | 1 VVEL2 87 | 1 WVEL2 88 | 1 RHO_VINT 89 | 1 SFWF_WRST 90 | 1 TAUX2 91 | 1 TAUY2 92 | 1 SSH2 93 | 1 VVC 94 | 3 VDC_BCK 95 | 3 VVC_BCK 96 | 1 KVMIX_M 97 | # SALT_MAX 98 | # SALT_MIN 99 | # TEMP_MAX 100 | # TEMP_MIN 101 | # TEMP_27 102 | # TEMP_43 103 | 1 QSW_3D 104 | 1 TEMP2 105 | 1 HMXL_DR2 106 | 2 SSS 107 | -------------------------------------------------------------------------------- /source/kinds_mod.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module kinds_mod 4 | 5 | !BOP 6 | ! !MODULE: kinds_mod 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module defines default numerical data types for all common data 10 | ! types like integer, character, logical, real4 and real8. 11 | ! 12 | ! !REVISION HISTORY: 13 | ! SVN:$Id$ 14 | 15 | ! !USES: 16 | ! uses no other modules 17 | 18 | implicit none 19 | private 20 | save 21 | 22 | ! !DEFINED PARAMETERS: 23 | 24 | ! Note: we want char_len to be 256 and char_len_long to be 512 but this is 25 | ! a quick work-around because some of variables containing the name of 26 | ! restart files, history files, and other output files are set to 27 | ! char_len. A later update should change these to char_len_long and 28 | ! then reset char_len to its original 256 value. (MNL; 10 Aug 2015) 29 | integer, parameter, public :: & 30 | char_len = 384 ,& 31 | char_len_long = 512 ,& 32 | log_kind = kind(.true.) ,& 33 | int_kind = kind(1) ,& 34 | i4 = selected_int_kind(6) ,& 35 | i8 = selected_int_kind(13) ,& 36 | r4 = selected_real_kind(6) ,& 37 | r8 = selected_real_kind(13) 38 | 39 | integer, parameter, public :: & 40 | #ifdef TAVG_R8 41 | rtavg = r8 ! nonstandard r8 for debugging purposes only 42 | #else 43 | rtavg = r4 ! standard, single-precision 44 | #endif 45 | 46 | 47 | !EOP 48 | !BOC 49 | !EOC 50 | !*********************************************************************** 51 | 52 | end module kinds_mod 53 | 54 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 55 | -------------------------------------------------------------------------------- /test/unit/halo/haloTestSerial: -------------------------------------------------------------------------------- 1 | 2 | /bin/cp ../../../build/GNUmakefile . 3 | 4 | mkdir build 5 | /bin/cp -r ../../../build/*.awk build 6 | /bin/cp -r ../../../build/*.mk build 7 | /bin/cp -r ../../../build/*.gnu build 8 | 9 | /bin/cp ../../../serial/POP_CommMod.F90 . 10 | /bin/cp ../../../serial/POP_RedistributeMod.F90 . 11 | /bin/cp ../../../serial/POP_ReductionsMod.F90 . 12 | /bin/cp ../../../serial/POP_HaloMod.F90 . 13 | /bin/cp ../../../source/POP_KindsMod.F90 . 14 | /bin/cp ../../../source/POP_ErrorMod.F90 . 15 | /bin/cp ../../../source/POP_IOUnitsMod.F90 . 16 | /bin/cp ../../../source/POP_BlocksMod.F90 . 17 | /bin/cp ../../../source/POP_DistributionMod.F90 . 18 | /bin/cp ../../../source/POP_GridHorzMod.F90 . 19 | /bin/cp ../../../source/POP_GridVertMod.F90 . 20 | /bin/cp ../../../source/POP_GridDimMod.F90 . 21 | /bin/cp ../../../source/POP_FieldMod.F90 . 22 | /bin/cp ../../../source/spacecurve_mod.F90 . 23 | /bin/cp ../../../source/kinds_mod.F90 . 24 | 25 | ### first test dipole grids 26 | 27 | /bin/cp POP.F90Dipole POP.F90 28 | 29 | gmake OPTIMIZE=no 30 | pop_db 31 | 32 | /bin/rm POP.F90 33 | /bin/rm pop_db 34 | /bin/rm compile/*.f90 *.o 35 | 36 | #### now test tripole 37 | 38 | /bin/cp POP.F90Tripole POP.F90 39 | 40 | gmake OPTIMIZE=no 41 | pop_db 42 | 43 | /bin/rm -r build 44 | /bin/rm -r compile 45 | /bin/rm GNUmakefile 46 | /bin/rm POP_CommMod.F90 47 | /bin/rm POP_RedistributeMod.F90 48 | /bin/rm POP_ReductionsMod.F90 49 | /bin/rm POP_HaloMod.F90 50 | /bin/rm POP_KindsMod.F90 51 | /bin/rm POP_ErrorMod.F90 52 | /bin/rm POP_IOUnitsMod.F90 53 | /bin/rm POP_BlocksMod.F90 54 | /bin/rm POP_DistributionMod.F90 55 | /bin/rm POP_GridHorzMod.F90 56 | /bin/rm POP_GridVertMod.F90 57 | /bin/rm POP_GridDimMod.F90 58 | /bin/rm POP_FieldMod.F90 59 | /bin/rm POP.F90 60 | /bin/rm spacecurve_mod.F90 61 | /bin/rm kinds_mod.F90 62 | /bin/rm pop_db 63 | 64 | 65 | -------------------------------------------------------------------------------- /test/unit/halo/haloTestMPI: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env csh 2 | 3 | /bin/cp ../../../build/GNUmakefile . 4 | 5 | mkdir build 6 | /bin/cp -r ../../../build/*.awk build 7 | /bin/cp -r ../../../build/*.mk build 8 | /bin/cp -r ../../../build/*.gnu build 9 | 10 | /bin/cp ../../../mpi/POP_CommMod.F90 . 11 | /bin/cp ../../../mpi/POP_RedistributeMod.F90 . 12 | /bin/cp ../../../mpi/POP_ReductionsMod.F90 . 13 | /bin/cp ../../../mpi/POP_HaloMod.F90 . 14 | /bin/cp ../../../source/POP_KindsMod.F90 . 15 | /bin/cp ../../../source/POP_ErrorMod.F90 . 16 | /bin/cp ../../../source/POP_IOUnitsMod.F90 . 17 | /bin/cp ../../../source/POP_BlocksMod.F90 . 18 | /bin/cp ../../../source/POP_DistributionMod.F90 . 19 | /bin/cp ../../../source/POP_GridHorzMod.F90 . 20 | /bin/cp ../../../source/POP_GridVertMod.F90 . 21 | /bin/cp ../../../source/POP_GridDimMod.F90 . 22 | /bin/cp ../../../source/POP_FieldMod.F90 . 23 | /bin/cp ../../../source/spacecurve_mod.F90 . 24 | /bin/cp ../../../source/kinds_mod.F90 . 25 | 26 | ### first test dipole grids 27 | 28 | /bin/cp POP.F90Dipole POP.F90 29 | 30 | gmake OPTIMIZE=no 31 | mpirun -np 4 pop_db 32 | 33 | /bin/rm POP.F90 34 | /bin/rm pop_db 35 | /bin/rm compile/*.f90 *.o 36 | 37 | #### now test tripole 38 | 39 | /bin/cp POP.F90Tripole POP.F90 40 | 41 | gmake OPTIMIZE=no 42 | mpirun -np 4 pop_db 43 | 44 | /bin/rm -r build 45 | /bin/rm -r compile 46 | /bin/rm GNUmakefile 47 | /bin/rm POP_CommMod.F90 48 | /bin/rm POP_RedistributeMod.F90 49 | /bin/rm POP_ReductionsMod.F90 50 | /bin/rm POP_HaloMod.F90 51 | /bin/rm POP_KindsMod.F90 52 | /bin/rm POP_ErrorMod.F90 53 | /bin/rm POP_IOUnitsMod.F90 54 | /bin/rm POP_BlocksMod.F90 55 | /bin/rm POP_DistributionMod.F90 56 | /bin/rm POP_GridHorzMod.F90 57 | /bin/rm POP_GridVertMod.F90 58 | /bin/rm POP_GridDimMod.F90 59 | /bin/rm POP_FieldMod.F90 60 | /bin/rm spacecurve_mod.F90 61 | /bin/rm kinds_mod.F90 62 | /bin/rm POP.F90 63 | /bin/rm pop_db 64 | 65 | 66 | -------------------------------------------------------------------------------- /input_templates/gx1v7_tavg_contents: -------------------------------------------------------------------------------- 1 | # An integer [1,9] in the first column identifies the field's output stream number. 2 | # To deactivate a field, replace the output stream number with # or ! 3 | 1 QFLUX 4 | 1 BSF 5 | 1 TFW_T 6 | 1 TFW_S 7 | 1 RESID_T 8 | 1 RESID_S 9 | 1 QSW_HTP 10 | 1 QSW_HBL 11 | 1 SHF 12 | 1 SHF_QSW 13 | 1 SFWF 14 | 1 PREC_F 15 | 1 SNOW_F 16 | 1 EVAP_F 17 | 1 MELT_F 18 | 1 ROFF_F 19 | 1 IOFF_F 20 | 1 SALT_F 21 | 1 SENH_F 22 | 1 LWUP_F 23 | 1 LWDN_F 24 | 1 MELTH_F 25 | 1 IFRAC 26 | 1 SSH 27 | 1 TAUX 28 | 1 TAUY 29 | 1 SU 30 | 1 SV 31 | 1 HMXL 32 | # 2 HMXL_2 33 | 1 HMXL_DR 34 | 2 HMXL_DR_2 35 | 1 XMXL 36 | 2 XMXL_2 37 | 1 XMXL_DR 38 | 1 TMXL 39 | 1 TMXL_DR 40 | 1 HBLT 41 | 1 XBLT 42 | 1 TBLT 43 | 1 FW 44 | 1 ADVT 45 | 1 ADVS 46 | 1 HDIFT 47 | 1 HDIFS 48 | 1 UVEL 49 | 1 VVEL 50 | 1 WVEL 51 | 1 TEMP 52 | 1 TEND_TEMP 53 | 1 ADV_3D_TEMP 54 | 1 DIA_IMPVF_TEMP 55 | 1 T_FLUX_EXCH_INTRF 56 | 1 RF_TEND_TEMP 57 | 1 dTEMP_POS_2D 58 | 1 dTEMP_NEG_2D 59 | 1 SALT 60 | 1 TEND_SALT 61 | 1 ADV_3D_SALT 62 | 1 DIA_IMPVF_SALT 63 | 1 S_FLUX_EXCH_INTRF 64 | 1 S_FLUX_ROFF_VSF_SRF 65 | 1 RF_TEND_SALT 66 | 1 SSS2 67 | 1 PD 68 | 1 Q 69 | 1 RHO 70 | 1 UET 71 | 1 UES 72 | 1 VNT 73 | 1 VNS 74 | 1 WTT 75 | 1 WTS 76 | 1 KAPPA_ISOP 77 | 1 KAPPA_THIC 78 | 1 HOR_DIFF 79 | 1 PV 80 | 1 KVMIX 81 | 1 TPOWER 82 | 1 DIA_DEPTH 83 | 1 TLT 84 | 1 INT_DEPTH 85 | 2 SST 86 | 2 SST2 87 | 1 VDC_T 88 | 1 VDC_S 89 | 1 UVEL2 90 | 1 VVEL2 91 | 1 WVEL2 92 | 1 RHO_VINT 93 | 1 SFWF_WRST 94 | 1 TAUX2 95 | 1 TAUY2 96 | 1 SSH2 97 | 1 VVC 98 | 3 VDC_BCK 99 | 3 VVC_BCK 100 | 1 KVMIX_M 101 | # SALT_MAX 102 | # SALT_MIN 103 | # TEMP_MAX 104 | # TEMP_MIN 105 | # TEMP_27 106 | # TEMP_43 107 | 1 QSW_3D 108 | 1 TEMP2 109 | 1 HMXL_DR2 110 | 2 SSS 111 | -------------------------------------------------------------------------------- /input_templates/ocn.base.tavg.csh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env -S csh -f 2 | 3 | if ( $OCN_GRID =~ gx* ) then 4 | #shut off time-invariant stream until vertical grid issues are resolved 5 | cat >! $CASEBUILD/popconf/base.tavg.nml << EOF 6 | tavg_freq_opt = 'nmonth' 'nday' 'once' 7 | tavg_freq = 1 1 1 8 | tavg_stream_filestrings = 'nmonth1' 'nday1' 'once' 9 | tavg_file_freq_opt = 'nmonth' 'nmonth' 'once' 10 | tavg_file_freq = 1 1 1 11 | tavg_start_opt = 'nstep' 'nstep' 'nstep' 12 | tavg_start = 0 0 0 13 | tavg_fmt_in = 'nc' 'nc' 'nc' 14 | tavg_fmt_out = 'nc' 'nc' 'nc' 15 | ltavg_has_offset_date = .false. .false. .false. 16 | tavg_offset_years = 1 1 1 17 | tavg_offset_months = 1 1 1 18 | tavg_offset_days = 2 2 2 19 | ltavg_one_time_header = .false. .false. .false. 20 | EOF 21 | endif 22 | 23 | if ( $OCN_GRID =~ tx* ) then 24 | cat >! $CASEBUILD/popconf/base.tavg.nml << EOF 25 | tavg_freq_opt = 'nmonth' 'nday' 26 | tavg_freq = 1 1 27 | tavg_stream_filestrings = 'nmonth1' 'nday1' 28 | tavg_file_freq_opt = 'nmonth' 'nmonth' 29 | tavg_file_freq = 1 1 30 | tavg_start_opt = 'nstep' 'nstep' 31 | tavg_start = 0 0 32 | tavg_fmt_in = 'nc' 'nc' 33 | tavg_fmt_out = 'nc' 'nc' 34 | ltavg_has_offset_date = .false. .false. 35 | tavg_offset_years = 1 1 36 | tavg_offset_months = 1 1 37 | tavg_offset_days = 2 2 38 | ltavg_one_time_header = .false. .false. 39 | EOF 40 | endif 41 | 42 | -------------------------------------------------------------------------------- /input_templates/ocn.base.tavg.csh.nstep: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env -S csh -f 2 | 3 | if ( $OCN_GRID =~ gx* ) then 4 | #shut off time-invariant stream until vertical grid issues are resolved 5 | cat >! $CASEBUILD/popconf/base.tavg.nml << EOF 6 | tavg_freq_opt = 'nstep' 'nstep' 'once' 7 | tavg_freq = 1 1 1 8 | tavg_stream_filestrings = 'nmonth1' 'nday1' 'once' 9 | tavg_file_freq_opt = 'nmonth' 'nday' 'once' 10 | tavg_file_freq = 1 1 1 11 | tavg_start_opt = 'nstep' 'nstep' 'nstep' 12 | tavg_start = 0 0 0 13 | tavg_fmt_in = 'nc' 'nc' 'nc' 14 | tavg_fmt_out = 'nc' 'nc' 'nc' 15 | ltavg_has_offset_date = .false. .false. .false. 16 | tavg_offset_years = 1 1 1 17 | tavg_offset_months = 1 1 1 18 | tavg_offset_days = 2 2 2 19 | ltavg_one_time_header = .false. .false. .false. 20 | EOF 21 | endif 22 | 23 | if ( $OCN_GRID =~ tx* ) then 24 | cat >! $CASEBUILD/popconf/base.tavg.nml << EOF 25 | tavg_freq_opt = 'nmonth' 'nday' 26 | tavg_freq = 1 1 27 | tavg_stream_filestrings = 'nmonth1' 'nday1' 28 | tavg_file_freq_opt = 'nmonth' 'nmonth' 29 | tavg_file_freq = 1 1 30 | tavg_start_opt = 'nstep' 'nstep' 31 | tavg_start = 0 0 32 | tavg_fmt_in = 'nc' 'nc' 33 | tavg_fmt_out = 'nc' 'nc' 34 | ltavg_has_offset_date = .false. .false. 35 | tavg_offset_years = 1 1 36 | tavg_offset_months = 1 1 37 | tavg_offset_days = 2 2 38 | ltavg_one_time_header = .false. .false. 39 | EOF 40 | endif 41 | 42 | -------------------------------------------------------------------------------- /input_templates/ocn.cfc.tavg.csh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env -S csh -f 2 | 3 | #------------------------------------------------------------------------------------ 4 | # For now, set streams manually. You must only set as many streams as are declared 5 | # in the tavg_nml section. For example, if there are three streams: 6 | # @ s1 = $my_stream 7 | # @ s2 = $s1 + 1 8 | # @ s3 = $s2 + 1 9 | #------------------------------------------------------------------------------------ 10 | 11 | @ my_stream = $1 12 | if ($my_stream < 1) then 13 | echo invalid my_stream number ($my_stream) 14 | exit 5 15 | endif 16 | 17 | @ s1 = 1 # use base-model stream 1 18 | 19 | cat >! $CASEROOT/Buildconf/popconf/cfc_tavg_contents << EOF 20 | $s1 CFC_IFRAC 21 | $s1 CFC_XKW 22 | $s1 CFC_ATM_PRESS 23 | $s1 STF_CFC11 24 | $s1 STF_CFC12 25 | $s1 CFC11 26 | $s1 CFC12 27 | EOF 28 | 29 | if ($OCN_TAVG_TRACER_BUDGET == TRUE) then 30 | cat >> $CASEROOT/Buildconf/popconf/cfc_tavg_contents << EOF 31 | $s1 KPP_SRC_CFC11 32 | $s1 KPP_SRC_CFC12 33 | $s1 DIA_IMPVF_CFC11 34 | $s1 DIA_IMPVF_CFC12 35 | $s1 HDIFE_CFC11 36 | $s1 HDIFE_CFC12 37 | $s1 HDIFN_CFC11 38 | $s1 HDIFN_CFC12 39 | $s1 HDIFB_CFC11 40 | $s1 HDIFB_CFC12 41 | $s1 UE_CFC11 42 | $s1 UE_CFC12 43 | $s1 VN_CFC11 44 | $s1 VN_CFC12 45 | $s1 WT_CFC11 46 | $s1 WT_CFC12 47 | $s1 TEND_CFC11 48 | $s1 TEND_CFC12 49 | EOF 50 | # disable the following until they can be added based on model settings 51 | # RF_TEND_CFC11 52 | # RF_TEND_CFC12 53 | # Redi_TEND_CFC11 54 | # Redi_TEND_CFC12 55 | endif 56 | 57 | #=============================================================================== 58 | # The following are fields computed by the CFC modules that are not placed in 59 | # the tavg file by default. 60 | # 61 | #1 pCFC11 62 | #1 pCFC12 63 | #1 CFC11_SCHMIDT 64 | #1 CFC12_SCHMIDT 65 | #1 CFC11_PV 66 | #1 CFC11_surf_sat 67 | #1 CFC12_PV 68 | #1 CFC12_surf_sat 69 | #=============================================================================== 70 | -------------------------------------------------------------------------------- /input_templates/tx1v1_vert_grid: -------------------------------------------------------------------------------- 1 | 1001.244 5.006218 10.01244 2 | 1011.258 15.06873 20.12502 3 | 1031.682 25.28342 30.44183 4 | 1063.330 35.75848 41.07513 5 | 1107.512 46.61269 52.15025 6 | 1166.145 57.98098 63.81171 7 | 1241.928 70.02135 76.23099 8 | 1338.612 82.92405 89.61711 9 | 1461.401 96.92412 104.2311 10 | 1617.561 112.3189 120.4067 11 | 1817.368 129.4936 138.5804 12 | 2075.558 148.9582 159.3360 13 | 2413.680 171.4044 183.4728 14 | 2863.821 197.7919 212.1110 15 | 3474.644 229.4842 246.8575 16 | 4320.857 268.4617 290.0660 17 | 5516.812 317.6501 345.2342 18 | 7230.458 381.3865 417.5388 19 | 9674.901 465.9133 514.2878 20 | 13003.92 579.3074 644.3270 21 | 17004.89 729.3514 814.3759 22 | 20799.33 918.3725 1022.369 23 | 23356.94 1139.154 1255.939 24 | 24527.19 1378.574 1501.210 25 | 24898.04 1625.701 1750.191 26 | 24983.22 1875.107 2000.023 27 | 24997.87 2125.012 2250.002 28 | 24999.79 2375.000 2500.000 29 | 24999.98 2625.000 2749.999 30 | 25000.00 2874.999 2999.999 31 | 25000.00 3124.999 3249.999 32 | 25000.00 3374.999 3499.999 33 | 25000.00 3624.999 3749.999 34 | 25000.00 3874.999 3999.999 35 | 25000.00 4124.999 4249.999 36 | 25000.00 4374.999 4499.999 37 | 25000.00 4624.999 4749.999 38 | 25000.00 4874.999 4999.999 39 | 25000.00 5124.999 5249.999 40 | 25000.00 5374.999 5499.999 41 | -------------------------------------------------------------------------------- /input_templates/gx1v6_domain_size.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module domain_size 4 | 5 | !BOP 6 | ! !MODULE: domain_size 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | 16 | ! !USES: 17 | 18 | use kinds_mod 19 | 20 | implicit none 21 | private 22 | save 23 | 24 | ! !DEFINED PARAMETERS: 25 | 26 | integer (int_kind), parameter, public :: & ! model size parameters 27 | nx_global = 320 ,&! extent of horizontal axis in i direction 28 | ny_global = 384 ,&! extent of horizontal axis in j direction 29 | km = 60 ,&! number of vertical levels 30 | nt = NT ! total number of tracers 31 | 32 | integer (int_kind), parameter, public :: & 33 | block_size_x = BLCKX, &! size of block in 1st horizontal dimension 34 | block_size_y = BLCKY ! size of block in 2nd horizontal dimension 35 | 36 | !*** The model will inform the user of the correct 37 | !*** values for theparameters below. A value higher than 38 | !*** necessary will not cause the code to fail, but will 39 | !*** allocate more memory than is necessary. A value that 40 | !*** is too low will cause the code to exit. 41 | !*** A good initial guess is found using 42 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 43 | !*** num_procs 44 | 45 | integer (int_kind), parameter, public :: & 46 | max_blocks_clinic = MXBLCKS, &! max number of blocks per processor 47 | max_blocks_tropic = MXBLCKS ! in each distribution 48 | 49 | !EOP 50 | !BOC 51 | !EOC 52 | !*********************************************************************** 53 | 54 | end module domain_size 55 | 56 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 57 | -------------------------------------------------------------------------------- /input_templates/gx1v7_domain_size.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module domain_size 4 | 5 | !BOP 6 | ! !MODULE: domain_size 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | 16 | ! !USES: 17 | 18 | use kinds_mod 19 | 20 | implicit none 21 | private 22 | save 23 | 24 | ! !DEFINED PARAMETERS: 25 | 26 | integer (int_kind), parameter, public :: & ! model size parameters 27 | nx_global = 320 ,&! extent of horizontal axis in i direction 28 | ny_global = 384 ,&! extent of horizontal axis in j direction 29 | km = 60 ,&! number of vertical levels 30 | nt = NT ! total number of tracers 31 | 32 | integer (int_kind), parameter, public :: & 33 | block_size_x = BLCKX, &! size of block in 1st horizontal dimension 34 | block_size_y = BLCKY ! size of block in 2nd horizontal dimension 35 | 36 | !*** The model will inform the user of the correct 37 | !*** values for theparameters below. A value higher than 38 | !*** necessary will not cause the code to fail, but will 39 | !*** allocate more memory than is necessary. A value that 40 | !*** is too low will cause the code to exit. 41 | !*** A good initial guess is found using 42 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 43 | !*** num_procs 44 | 45 | integer (int_kind), parameter, public :: & 46 | max_blocks_clinic = MXBLCKS, &! max number of blocks per processor 47 | max_blocks_tropic = MXBLCKS ! in each distribution 48 | 49 | !EOP 50 | !BOC 51 | !EOC 52 | !*********************************************************************** 53 | 54 | end module domain_size 55 | 56 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 57 | -------------------------------------------------------------------------------- /input_templates/tx1v1_domain_size.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module domain_size 4 | 5 | !BOP 6 | ! !MODULE: domain_size 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | 16 | ! !USES: 17 | 18 | use kinds_mod 19 | 20 | implicit none 21 | private 22 | save 23 | 24 | ! !DEFINED PARAMETERS: 25 | 26 | integer (int_kind), parameter, public :: & ! model size parameters 27 | nx_global = 360 ,&! extent of horizontal axis in i direction 28 | ny_global = 240 ,&! extent of horizontal axis in j direction 29 | km = 40 ,&! number of vertical levels 30 | nt = NT ! total number of tracers 31 | 32 | integer (int_kind), parameter, public :: & 33 | block_size_x = BLCKX, &! size of block in 1st horizontal dimension 34 | block_size_y = BLCKY ! size of block in 2nd horizontal dimension 35 | 36 | !*** The model will inform the user of the correct 37 | !*** values for theparameters below. A value higher than 38 | !*** necessary will not cause the code to fail, but will 39 | !*** allocate more memory than is necessary. A value that 40 | !*** is too low will cause the code to exit. 41 | !*** A good initial guess is found using 42 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 43 | !*** num_procs 44 | 45 | integer (int_kind), parameter, public :: & 46 | max_blocks_clinic = MXBLCKS, &! max number of blocks per processor 47 | max_blocks_tropic = MXBLCKS ! in each distribution 48 | 49 | !EOP 50 | !BOC 51 | !EOC 52 | !*********************************************************************** 53 | 54 | end module domain_size 55 | 56 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 57 | -------------------------------------------------------------------------------- /input_templates/gx3v5_domain_size.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module domain_size 4 | 5 | !BOP 6 | ! !MODULE: domain_size 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | 16 | ! !USES: 17 | 18 | use kinds_mod 19 | 20 | implicit none 21 | private 22 | save 23 | 24 | ! !DEFINED PARAMETERS: 25 | 26 | integer (int_kind), parameter, public :: & ! model size parameters 27 | nx_global = 100 ,&! extent of horizontal axis in i direction 28 | ny_global = 116 ,&! extent of horizontal axis in j direction 29 | km = 25 ,&! number of vertical levels 30 | nt = NT ! total number of tracers 31 | 32 | integer (int_kind), parameter, public :: & 33 | block_size_x = BLCKX, &! size of block in 1st horizontal dimension 34 | block_size_y = BLCKY ! size of block in 2nd horizontal dimension 35 | 36 | !*** The model will inform the user of the correct 37 | !*** values for the parameters below. A value higher than 38 | !*** necessary will not cause the code to fail, but will 39 | !*** allocate more memory than is necessary. A value that 40 | !*** is too low will cause the code to exit. 41 | !*** A good initial guess is found using 42 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 43 | !*** num_procs 44 | 45 | integer (int_kind), parameter, public :: & 46 | max_blocks_clinic = MXBLCKS, &! max number of blocks per processor 47 | max_blocks_tropic = MXBLCKS ! in each distribution 48 | 49 | !EOP 50 | !BOC 51 | !EOC 52 | !*********************************************************************** 53 | 54 | end module domain_size 55 | 56 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 57 | -------------------------------------------------------------------------------- /input_templates/tx0.1v2_domain_size.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module domain_size 4 | 5 | !BOP 6 | ! !MODULE: domain_size 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | 16 | ! !USES: 17 | 18 | use kinds_mod 19 | 20 | implicit none 21 | private 22 | save 23 | 24 | ! !DEFINED PARAMETERS: 25 | 26 | integer (int_kind), parameter, public :: & ! model size parameters 27 | nx_global = 3600 ,&! extent of horizontal axis in i direction 28 | ny_global = 2400 ,&! extent of horizontal axis in j direction 29 | km = 42 ,&! number of vertical levels 30 | nt = NT ! total number of tracers 31 | 32 | integer (int_kind), parameter, public :: & 33 | block_size_x = BLCKX, &! size of block in 1st horizontal dimension 34 | block_size_y = BLCKY ! size of block in 2nd horizontal dimension 35 | 36 | !*** The model will inform the user of the correct 37 | !*** values for theparameters below. A value higher than 38 | !*** necessary will not cause the code to fail, but will 39 | !*** allocate more memory than is necessary. A value that 40 | !*** is too low will cause the code to exit. 41 | !*** A good initial guess is found using 42 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 43 | !*** num_procs 44 | 45 | integer (int_kind), parameter, public :: & 46 | max_blocks_clinic = MXBLCKS, &! max number of blocks per processor 47 | max_blocks_tropic = MXBLCKS ! in each distribution 48 | 49 | !EOP 50 | !BOC 51 | !EOC 52 | !*********************************************************************** 53 | 54 | end module domain_size 55 | 56 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 57 | -------------------------------------------------------------------------------- /input_templates/tx0.1v3_domain_size.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module domain_size 4 | 5 | !BOP 6 | ! !MODULE: domain_size 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | 16 | ! !USES: 17 | 18 | use kinds_mod 19 | 20 | implicit none 21 | private 22 | save 23 | 24 | ! !DEFINED PARAMETERS: 25 | 26 | integer (int_kind), parameter, public :: & ! model size parameters 27 | nx_global = 3600 ,&! extent of horizontal axis in i direction 28 | ny_global = 2400 ,&! extent of horizontal axis in j direction 29 | km = 62 ,&! number of vertical levels 30 | nt = NT ! total number of tracers 31 | 32 | integer (int_kind), parameter, public :: & 33 | block_size_x = BLCKX, &! size of block in 1st horizontal dimension 34 | block_size_y = BLCKY ! size of block in 2nd horizontal dimension 35 | 36 | !*** The model will inform the user of the correct 37 | !*** values for theparameters below. A value higher than 38 | !*** necessary will not cause the code to fail, but will 39 | !*** allocate more memory than is necessary. A value that 40 | !*** is too low will cause the code to exit. 41 | !*** A good initial guess is found using 42 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 43 | !*** num_procs 44 | 45 | integer (int_kind), parameter, public :: & 46 | max_blocks_clinic = MXBLCKS, &! max number of blocks per processor 47 | max_blocks_tropic = MXBLCKS ! in each distribution 48 | 49 | !EOP 50 | !BOC 51 | !EOC 52 | !*********************************************************************** 53 | 54 | end module domain_size 55 | 56 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 57 | -------------------------------------------------------------------------------- /input_templates/test_domain_size.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module domain_size 4 | 5 | !BOP 6 | ! !MODULE: domain_size 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id: gx3v5_domain_size.F90 7965 2007-12-12 15:51:18Z dennis $ 15 | 16 | ! !USES: 17 | 18 | use kinds_mod 19 | 20 | implicit none 21 | private 22 | save 23 | 24 | ! !DEFINED PARAMETERS: 25 | 26 | integer (int_kind), parameter, public :: & ! model size parameters 27 | nx_global = 192 ,&! extent of horizontal axis in i direction 28 | ny_global = 128 ,&! extent of horizontal axis in j direction 29 | km = 20 ,&! number of vertical levels 30 | nt = NT ! total number of tracers 31 | 32 | integer (int_kind), parameter, public :: & 33 | block_size_x = 16, &! size of block in 1st horizontal dimension 34 | block_size_y = 16 ! size of block in 2nd horizontal dimension 35 | 36 | !*** The model will inform the user of the correct 37 | !*** values for the parameters below. A value higher than 38 | !*** necessary will not cause the code to fail, but will 39 | !*** allocate more memory than is necessary. A value that 40 | !*** is too low will cause the code to exit. 41 | !*** A good initial guess is found using 42 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 43 | !*** num_procs 44 | 45 | integer (int_kind), parameter, public :: & 46 | max_blocks_clinic = 96, &! max number of blocks per processor 47 | max_blocks_tropic = 96 ! in each distribution 48 | 49 | !EOP 50 | !BOC 51 | !EOC 52 | !*********************************************************************** 53 | 54 | end module domain_size 55 | 56 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 57 | -------------------------------------------------------------------------------- /test/unit/time_management/source/domain_size.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module domain_size 4 | 5 | !BOP 6 | ! !MODULE: domain_size 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id: gx3v5_domain_size.F90 12674 2008-10-31 22:21:32Z njn01 $ 15 | 16 | ! !USES: 17 | 18 | use kinds_mod 19 | 20 | implicit none 21 | private 22 | save 23 | 24 | ! !DEFINED PARAMETERS: 25 | 26 | integer (int_kind), parameter, public :: & ! model size parameters 27 | nx_global = 30 ,&! extent of horizontal axis in i direction 28 | ny_global = 31 ,&! extent of horizontal axis in j direction 29 | km = 3 ,&! number of vertical levels 30 | nt = 2 ! total number of tracers 31 | 32 | integer (int_kind), parameter, public :: & 33 | block_size_x = 4, &! size of block in 1st horizontal dimension 34 | block_size_y = 4 ! size of block in 2nd horizontal dimension 35 | 36 | !*** The model will inform the user of the correct 37 | !*** values for the parameters below. A value higher than 38 | !*** necessary will not cause the code to fail, but will 39 | !*** allocate more memory than is necessary. A value that 40 | !*** is too low will cause the code to exit. 41 | !*** A good initial guess is found using 42 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 43 | !*** num_procs 44 | 45 | integer (int_kind), parameter, public :: & 46 | max_blocks_clinic = 65, &! max number of blocks per processor 47 | max_blocks_tropic = 65 ! in each distribution 48 | 49 | !EOP 50 | !BOC 51 | !EOC 52 | !*********************************************************************** 53 | 54 | end module domain_size 55 | 56 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 57 | -------------------------------------------------------------------------------- /input_templates/gx3v7_domain_size.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module domain_size 4 | 5 | !BOP 6 | ! !MODULE: domain_size 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id: gx3v5_domain_size.F90 12674 2008-10-31 22:21:32Z njn01 $ 15 | 16 | ! !USES: 17 | 18 | use kinds_mod 19 | 20 | implicit none 21 | private 22 | save 23 | 24 | ! !DEFINED PARAMETERS: 25 | 26 | integer (int_kind), parameter, public :: & ! model size parameters 27 | nx_global = 100 ,&! extent of horizontal axis in i direction 28 | ny_global = 116 ,&! extent of horizontal axis in j direction 29 | km = 60 ,&! number of vertical levels 30 | nt = NT ! total number of tracers 31 | 32 | integer (int_kind), parameter, public :: & 33 | block_size_x = BLCKX, &! size of block in 1st horizontal dimension 34 | block_size_y = BLCKY ! size of block in 2nd horizontal dimension 35 | 36 | !*** The model will inform the user of the correct 37 | !*** values for the parameters below. A value higher than 38 | !*** necessary will not cause the code to fail, but will 39 | !*** allocate more memory than is necessary. A value that 40 | !*** is too low will cause the code to exit. 41 | !*** A good initial guess is found using 42 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 43 | !*** num_procs 44 | 45 | integer (int_kind), parameter, public :: & 46 | max_blocks_clinic = MXBLCKS, &! max number of blocks per processor 47 | max_blocks_tropic = MXBLCKS ! in each distribution 48 | 49 | !EOP 50 | !BOC 51 | !EOC 52 | !*********************************************************************** 53 | 54 | end module domain_size 55 | 56 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 57 | -------------------------------------------------------------------------------- /externals/manage_externals/README_FIRST: -------------------------------------------------------------------------------- 1 | CESM is comprised of a number of different components that are 2 | developed and managed independently. Each component may have 3 | additional 'external' dependancies and optional parts that are also 4 | developed and managed independently. 5 | 6 | The checkout_externals.py tool manages retreiving and updating the 7 | components and their externals so you have a complete set of source 8 | files for the model. 9 | 10 | checkout_externals.py relies on a model description file that 11 | describes what components are needed, where to find them and where to 12 | put them in the source tree. The default file is called "CESM.xml" 13 | regardless of whether you are checking out CESM or a standalone 14 | component. 15 | 16 | checkout_externals requires access to git and svn repositories that 17 | require authentication. checkout_externals may pass through 18 | authentication requests, but it will not cache them for you. For the 19 | best and most robust user experience, you should have svn and git 20 | working without password authentication. See: 21 | 22 | https://help.github.com/articles/connecting-to-github-with-ssh/ 23 | 24 | ?svn ref? 25 | 26 | NOTE: checkout_externals.py *MUST* be run from the root of the source 27 | tree it is managing. For example, if you cloned CLM with: 28 | 29 | $ git clone git@github.com/ncar/clm clm-dev 30 | 31 | Then the root of the source tree is /path/to/cesm-dev. If you obtained 32 | CLM via an svn checkout of CESM and you need to checkout the CLM 33 | externals, then the root of the source tree for CLM is: 34 | 35 | /path/to/cesm-dev/components/clm 36 | 37 | The root of the source tree will be referred to as ${SRC_ROOT} below. 38 | 39 | To get started quickly, checkout all required components from the 40 | default model description file: 41 | 42 | $ cd ${SRC_ROOT} 43 | $ ./checkout_cesm/checkout_externals.py 44 | 45 | For additional information about using checkout model, please see: 46 | 47 | ${SRC_ROOT}/checkout_cesm/README 48 | 49 | or run: 50 | 51 | $ cd ${SRC_ROOT} 52 | $ ./checkout_cesm/checkout_externals.py --help 53 | 54 | 55 | -------------------------------------------------------------------------------- /test/unit/halo/POP_DomainSizeMod.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module POP_DomainSizeMod 4 | 5 | !BOP 6 | ! !MODULE: POP_DomainSizeMod 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | ! 2006-08-14: Phil Jones 16 | ! New domain size module following new naming conventions 17 | 18 | ! !USES: 19 | 20 | use POP_KindsMod 21 | 22 | implicit none 23 | private 24 | save 25 | 26 | ! !DEFINED PARAMETERS: 27 | 28 | integer (POP_i4), parameter, public :: & ! model size parameters 29 | POP_nxGlobal = 30 ,&! extent of horizontal axis in i direction 30 | POP_nyGlobal = 31 ,&! extent of horizontal axis in j direction 31 | POP_km = 3 ,&! number of vertical levels 32 | POP_nt = 2 ! total number of tracers 33 | 34 | integer (POP_i4), parameter, public :: & 35 | POP_blockSizeX = 4, &! size of block in first horizontal dimension 36 | POP_blockSizeY = 4 ! size of block in second horizontal dimension 37 | 38 | !*** The model will inform the user of the correct 39 | !*** values for the parameters below. A value higher than 40 | !*** necessary will not cause the code to fail, but will 41 | !*** allocate more memory than is necessary. A value that 42 | !*** is too low will cause the code to exit. 43 | !*** A good initial guess is found using 44 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 45 | !*** num_procs 46 | 47 | integer (POP_i4), parameter, public :: & 48 | POP_maxBlocksClinic = 65, &! max number of blocks per processor 49 | POP_maxBlocksTropic = 65 ! in each distribution 50 | 51 | !EOP 52 | !BOC 53 | !EOC 54 | !*********************************************************************** 55 | 56 | end module POP_DomainSizeMod 57 | 58 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 59 | -------------------------------------------------------------------------------- /test/unit/reduction/POP_DomainSizeMod.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module POP_DomainSizeMod 4 | 5 | !BOP 6 | ! !MODULE: POP_DomainSizeMod 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | ! 2006-08-14: Phil Jones 16 | ! New domain size module following new naming conventions 17 | 18 | ! !USES: 19 | 20 | use POP_KindsMod 21 | 22 | implicit none 23 | private 24 | save 25 | 26 | ! !DEFINED PARAMETERS: 27 | 28 | integer (POP_i4), parameter, public :: & ! model size parameters 29 | POP_nxGlobal = 34 ,&! extent of horizontal axis in i direction 30 | POP_nyGlobal = 34 ,&! extent of horizontal axis in j direction 31 | POP_km = 20 ,&! number of vertical levels 32 | POP_nt = 2 ! total number of tracers 33 | 34 | integer (POP_i4), parameter, public :: & 35 | POP_blockSizeX = 4, &! size of block in first horizontal dimension 36 | POP_blockSizeY = 4 ! size of block in second horizontal dimension 37 | 38 | !*** The model will inform the user of the correct 39 | !*** values for the parameters below. A value higher than 40 | !*** necessary will not cause the code to fail, but will 41 | !*** allocate more memory than is necessary. A value that 42 | !*** is too low will cause the code to exit. 43 | !*** A good initial guess is found using 44 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 45 | !*** num_procs 46 | 47 | integer (POP_i4), parameter, public :: & 48 | POP_maxBlocksClinic = 65, &! max number of blocks per processor 49 | POP_maxBlocksTropic = 65 ! in each distribution 50 | 51 | !EOP 52 | !BOC 53 | !EOC 54 | !*********************************************************************** 55 | 56 | end module POP_DomainSizeMod 57 | 58 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 59 | -------------------------------------------------------------------------------- /test/unit/redistribute/POP_DomainSizeMod.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module POP_DomainSizeMod 4 | 5 | !BOP 6 | ! !MODULE: POP_DomainSizeMod 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | ! 2006-08-14: Phil Jones 16 | ! New domain size module following new naming conventions 17 | 18 | ! !USES: 19 | 20 | use POP_KindsMod 21 | 22 | implicit none 23 | private 24 | save 25 | 26 | ! !DEFINED PARAMETERS: 27 | 28 | integer (POP_i4), parameter, public :: & ! model size parameters 29 | POP_nxGlobal = 32 ,&! extent of horizontal axis in i direction 30 | POP_nyGlobal = 32 ,&! extent of horizontal axis in j direction 31 | POP_km = 20 ,&! number of vertical levels 32 | POP_nt = 2 ! total number of tracers 33 | 34 | integer (POP_i4), parameter, public :: & 35 | POP_blockSizeX = 4, &! size of block in first horizontal dimension 36 | POP_blockSizeY = 4 ! size of block in second horizontal dimension 37 | 38 | !*** The model will inform the user of the correct 39 | !*** values for the parameters below. A value higher than 40 | !*** necessary will not cause the code to fail, but will 41 | !*** allocate more memory than is necessary. A value that 42 | !*** is too low will cause the code to exit. 43 | !*** A good initial guess is found using 44 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 45 | !*** num_procs 46 | 47 | integer (POP_i4), parameter, public :: & 48 | POP_maxBlocksClinic = 64, &! max number of blocks per processor 49 | POP_maxBlocksTropic = 64 ! in each distribution 50 | 51 | !EOP 52 | !BOC 53 | !EOC 54 | !*********************************************************************** 55 | 56 | end module POP_DomainSizeMod 57 | 58 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 59 | -------------------------------------------------------------------------------- /test/unit/blockDistribution/POP_DomainSizeMod.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module POP_DomainSizeMod 4 | 5 | !BOP 6 | ! !MODULE: POP_DomainSizeMod 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | ! 2006-08-14: Phil Jones 16 | ! New domain size module following new naming conventions 17 | 18 | ! !USES: 19 | 20 | use POP_KindsMod 21 | 22 | implicit none 23 | private 24 | save 25 | 26 | ! !DEFINED PARAMETERS: 27 | 28 | integer (POP_i4), parameter, public :: & ! model size parameters 29 | POP_nxGlobal = 320 ,&! extent of horizontal axis in i direction 30 | POP_nyGlobal = 384 ,&! extent of horizontal axis in j direction 31 | POP_km = 40 ,&! number of vertical levels 32 | POP_nt = 2 ! total number of tracers 33 | 34 | integer (POP_i4), parameter, public :: & 35 | POP_blockSizeX = 32, &! size of block in first horizontal dimension 36 | POP_blockSizeY = 24 ! size of block in second horizontal dimension 37 | 38 | !*** The model will inform the user of the correct 39 | !*** values for the parameters below. A value higher than 40 | !*** necessary will not cause the code to fail, but will 41 | !*** allocate more memory than is necessary. A value that 42 | !*** is too low will cause the code to exit. 43 | !*** A good initial guess is found using 44 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 45 | !*** num_procs 46 | 47 | integer (POP_i4), parameter, public :: & 48 | POP_maxBlocksClinic = 10, &! max number of blocks per processor 49 | POP_maxBlocksTropic = 10 ! in each distribution 50 | 51 | !EOP 52 | !BOC 53 | !EOC 54 | !*********************************************************************** 55 | 56 | end module POP_DomainSizeMod 57 | 58 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 59 | -------------------------------------------------------------------------------- /test/unit/time_management/source/POP_DomainSizeMod.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module POP_DomainSizeMod 4 | 5 | !BOP 6 | ! !MODULE: POP_DomainSizeMod 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | ! 2006-08-14: Phil Jones 16 | ! New domain size module following new naming conventions 17 | 18 | ! !USES: 19 | 20 | use POP_KindsMod 21 | 22 | implicit none 23 | private 24 | save 25 | 26 | ! !DEFINED PARAMETERS: 27 | 28 | integer (POP_i4), parameter, public :: & ! model size parameters 29 | POP_nxGlobal = 31 ,&! extent of horizontal axis in i direction 30 | POP_nyGlobal = 30 ,&! extent of horizontal axis in j direction 31 | POP_km = 3 ,&! number of vertical levels 32 | POP_nt = 2 ! total number of tracers 33 | 34 | integer (POP_i4), parameter, public :: & 35 | POP_blockSizeX = 4, &! size of block in first horizontal dimension 36 | POP_blockSizeY = 4 ! size of block in second horizontal dimension 37 | 38 | !*** The model will inform the user of the correct 39 | !*** values for the parameters below. A value higher than 40 | !*** necessary will not cause the code to fail, but will 41 | !*** allocate more memory than is necessary. A value that 42 | !*** is too low will cause the code to exit. 43 | !*** A good initial guess is found using 44 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 45 | !*** num_procs 46 | 47 | integer (POP_i4), parameter, public :: & 48 | POP_maxBlocksClinic = 65, &! max number of blocks per processor 49 | POP_maxBlocksTropic = 65 ! in each distribution 50 | 51 | !EOP 52 | !BOC 53 | !EOC 54 | !*********************************************************************** 55 | 56 | end module POP_DomainSizeMod 57 | 58 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 59 | -------------------------------------------------------------------------------- /input_templates/gx1v6_POP_DomainSizeMod.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module POP_DomainSizeMod 4 | 5 | !BOP 6 | ! !MODULE: POP_DomainSizeMod 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | ! 2006-08-14: Phil Jones 16 | ! New domain size module following new naming conventions 17 | 18 | ! !USES: 19 | 20 | use POP_KindsMod 21 | 22 | implicit none 23 | private 24 | save 25 | 26 | ! !DEFINED PARAMETERS: 27 | 28 | integer (POP_i4), parameter, public :: & ! model size parameters 29 | POP_nxGlobal = 320 ,&! extent of horizontal axis in i direction 30 | POP_nyGlobal = 384 ,&! extent of horizontal axis in j direction 31 | POP_km = 60 ,&! number of vertical levels 32 | POP_nt = NT ! total number of tracers 33 | 34 | integer (POP_i4), parameter, public :: & 35 | POP_blockSizeX = BLCKX, &! size of block in first horizontal dimension 36 | POP_blockSizeY = BLCKY ! size of block in second horizontal dimension 37 | 38 | !*** The model will inform the user of the correct 39 | !*** values for the parameters below. A value higher than 40 | !*** necessary will not cause the code to fail, but will 41 | !*** allocate more memory than is necessary. A value that 42 | !*** is too low will cause the code to exit. 43 | !*** A good initial guess is found using 44 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 45 | !*** num_procs 46 | 47 | integer (POP_i4), parameter, public :: & 48 | POP_maxBlocksClinic = MXBLCKS, &! max number of blocks per processor 49 | POP_maxBlocksTropic = MXBLCKS ! in each distribution 50 | 51 | !EOP 52 | !BOC 53 | !EOC 54 | !*********************************************************************** 55 | 56 | end module POP_DomainSizeMod 57 | 58 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 59 | -------------------------------------------------------------------------------- /input_templates/gx1v7_POP_DomainSizeMod.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module POP_DomainSizeMod 4 | 5 | !BOP 6 | ! !MODULE: POP_DomainSizeMod 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | ! 2006-08-14: Phil Jones 16 | ! New domain size module following new naming conventions 17 | 18 | ! !USES: 19 | 20 | use POP_KindsMod 21 | 22 | implicit none 23 | private 24 | save 25 | 26 | ! !DEFINED PARAMETERS: 27 | 28 | integer (POP_i4), parameter, public :: & ! model size parameters 29 | POP_nxGlobal = 320 ,&! extent of horizontal axis in i direction 30 | POP_nyGlobal = 384 ,&! extent of horizontal axis in j direction 31 | POP_km = 60 ,&! number of vertical levels 32 | POP_nt = NT ! total number of tracers 33 | 34 | integer (POP_i4), parameter, public :: & 35 | POP_blockSizeX = BLCKX, &! size of block in first horizontal dimension 36 | POP_blockSizeY = BLCKY ! size of block in second horizontal dimension 37 | 38 | !*** The model will inform the user of the correct 39 | !*** values for the parameters below. A value higher than 40 | !*** necessary will not cause the code to fail, but will 41 | !*** allocate more memory than is necessary. A value that 42 | !*** is too low will cause the code to exit. 43 | !*** A good initial guess is found using 44 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 45 | !*** num_procs 46 | 47 | integer (POP_i4), parameter, public :: & 48 | POP_maxBlocksClinic = MXBLCKS, &! max number of blocks per processor 49 | POP_maxBlocksTropic = MXBLCKS ! in each distribution 50 | 51 | !EOP 52 | !BOC 53 | !EOC 54 | !*********************************************************************** 55 | 56 | end module POP_DomainSizeMod 57 | 58 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 59 | -------------------------------------------------------------------------------- /input_templates/gx3v5_POP_DomainSizeMod.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module POP_DomainSizeMod 4 | 5 | !BOP 6 | ! !MODULE: POP_DomainSizeMod 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | ! 2006-08-14: Phil Jones 16 | ! New domain size module following new naming conventions 17 | 18 | ! !USES: 19 | 20 | use POP_KindsMod 21 | 22 | implicit none 23 | private 24 | save 25 | 26 | ! !DEFINED PARAMETERS: 27 | 28 | integer (POP_i4), parameter, public :: & ! model size parameters 29 | POP_nxGlobal = 100 ,&! extent of horizontal axis in i direction 30 | POP_nyGlobal = 116 ,&! extent of horizontal axis in j direction 31 | POP_km = 25 ,&! number of vertical levels 32 | POP_nt = NT ! total number of tracers 33 | 34 | integer (POP_i4), parameter, public :: & 35 | POP_blockSizeX = BLCKX, &! size of block in first horizontal dimension 36 | POP_blockSizeY = BLCKY ! size of block in second horizontal dimension 37 | 38 | !*** The model will inform the user of the correct 39 | !*** values for the parameters below. A value higher than 40 | !*** necessary will not cause the code to fail, but will 41 | !*** allocate more memory than is necessary. A value that 42 | !*** is too low will cause the code to exit. 43 | !*** A good initial guess is found using 44 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 45 | !*** num_procs 46 | 47 | integer (POP_i4), parameter, public :: & 48 | POP_maxBlocksClinic = MXBLCKS, &! max number of blocks per processor 49 | POP_maxBlocksTropic = MXBLCKS ! in each distribution 50 | 51 | !EOP 52 | !BOC 53 | !EOC 54 | !*********************************************************************** 55 | 56 | end module POP_DomainSizeMod 57 | 58 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 59 | -------------------------------------------------------------------------------- /input_templates/gx3v7_POP_DomainSizeMod.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module POP_DomainSizeMod 4 | 5 | !BOP 6 | ! !MODULE: POP_DomainSizeMod 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | ! 2006-08-14: Phil Jones 16 | ! New domain size module following new naming conventions 17 | 18 | ! !USES: 19 | 20 | use POP_KindsMod 21 | 22 | implicit none 23 | private 24 | save 25 | 26 | ! !DEFINED PARAMETERS: 27 | 28 | integer (POP_i4), parameter, public :: & ! model size parameters 29 | POP_nxGlobal = 100 ,&! extent of horizontal axis in i direction 30 | POP_nyGlobal = 116 ,&! extent of horizontal axis in j direction 31 | POP_km = 60 ,&! number of vertical levels 32 | POP_nt = NT ! total number of tracers 33 | 34 | integer (POP_i4), parameter, public :: & 35 | POP_blockSizeX = BLCKX, &! size of block in first horizontal dimension 36 | POP_blockSizeY = BLCKY ! size of block in second horizontal dimension 37 | 38 | !*** The model will inform the user of the correct 39 | !*** values for the parameters below. A value higher than 40 | !*** necessary will not cause the code to fail, but will 41 | !*** allocate more memory than is necessary. A value that 42 | !*** is too low will cause the code to exit. 43 | !*** A good initial guess is found using 44 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 45 | !*** num_procs 46 | 47 | integer (POP_i4), parameter, public :: & 48 | POP_maxBlocksClinic = MXBLCKS, &! max number of blocks per processor 49 | POP_maxBlocksTropic = MXBLCKS ! in each distribution 50 | 51 | !EOP 52 | !BOC 53 | !EOC 54 | !*********************************************************************** 55 | 56 | end module POP_DomainSizeMod 57 | 58 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 59 | -------------------------------------------------------------------------------- /input_templates/tx1v1_POP_DomainSizeMod.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module POP_DomainSizeMod 4 | 5 | !BOP 6 | ! !MODULE: POP_DomainSizeMod 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | ! 2006-08-14: Phil Jones 16 | ! New domain size module following new naming conventions 17 | 18 | ! !USES: 19 | 20 | use POP_KindsMod 21 | 22 | implicit none 23 | private 24 | save 25 | 26 | ! !DEFINED PARAMETERS: 27 | 28 | integer (POP_i4), parameter, public :: & ! model size parameters 29 | POP_nxGlobal = 360 ,&! extent of horizontal axis in i direction 30 | POP_nyGlobal = 240 ,&! extent of horizontal axis in j direction 31 | POP_km = 40 ,&! number of vertical levels 32 | POP_nt = NT ! total number of tracers 33 | 34 | integer (POP_i4), parameter, public :: & 35 | POP_blockSizeX = BLCKX, &! size of block in first horizontal dimension 36 | POP_blockSizeY = BLCKY ! size of block in second horizontal dimension 37 | 38 | !*** The model will inform the user of the correct 39 | !*** values for the parameters below. A value higher than 40 | !*** necessary will not cause the code to fail, but will 41 | !*** allocate more memory than is necessary. A value that 42 | !*** is too low will cause the code to exit. 43 | !*** A good initial guess is found using 44 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 45 | !*** num_procs 46 | 47 | integer (POP_i4), parameter, public :: & 48 | POP_maxBlocksClinic = MXBLCKS, &! max number of blocks per processor 49 | POP_maxBlocksTropic = MXBLCKS ! in each distribution 50 | 51 | !EOP 52 | !BOC 53 | !EOC 54 | !*********************************************************************** 55 | 56 | end module POP_DomainSizeMod 57 | 58 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 59 | -------------------------------------------------------------------------------- /input_templates/tx0.1v2_POP_DomainSizeMod.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module POP_DomainSizeMod 4 | 5 | !BOP 6 | ! !MODULE: POP_DomainSizeMod 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | ! 2006-08-14: Phil Jones 16 | ! New domain size module following new naming conventions 17 | 18 | ! !USES: 19 | 20 | use POP_KindsMod 21 | 22 | implicit none 23 | private 24 | save 25 | 26 | ! !DEFINED PARAMETERS: 27 | 28 | integer (POP_i4), parameter, public :: & ! model size parameters 29 | POP_nxGlobal = 3600 ,&! extent of horizontal axis in i direction 30 | POP_nyGlobal = 2400,&! extent of horizontal axis in j direction 31 | POP_km = 42 ,&! number of vertical levels 32 | POP_nt = NT ! total number of tracers 33 | 34 | integer (POP_i4), parameter, public :: & 35 | POP_blockSizeX = BLCKX, &! size of block in first horizontal dimension 36 | POP_blockSizeY = BLCKY ! size of block in second horizontal dimension 37 | 38 | !*** The model will inform the user of the correct 39 | !*** values for the parameters below. A value higher than 40 | !*** necessary will not cause the code to fail, but will 41 | !*** allocate more memory than is necessary. A value that 42 | !*** is too low will cause the code to exit. 43 | !*** A good initial guess is found using 44 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 45 | !*** num_procs 46 | 47 | integer (POP_i4), parameter, public :: & 48 | POP_maxBlocksClinic = MXBLCKS, &! max number of blocks per processor 49 | POP_maxBlocksTropic = MXBLCKS ! in each distribution 50 | 51 | !EOP 52 | !BOC 53 | !EOC 54 | !*********************************************************************** 55 | 56 | end module POP_DomainSizeMod 57 | 58 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 59 | -------------------------------------------------------------------------------- /input_templates/tx0.1v3_POP_DomainSizeMod.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module POP_DomainSizeMod 4 | 5 | !BOP 6 | ! !MODULE: POP_DomainSizeMod 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id$ 15 | ! 2006-08-14: Phil Jones 16 | ! New domain size module following new naming conventions 17 | 18 | ! !USES: 19 | 20 | use POP_KindsMod 21 | 22 | implicit none 23 | private 24 | save 25 | 26 | ! !DEFINED PARAMETERS: 27 | 28 | integer (POP_i4), parameter, public :: & ! model size parameters 29 | POP_nxGlobal = 3600 ,&! extent of horizontal axis in i direction 30 | POP_nyGlobal = 2400,&! extent of horizontal axis in j direction 31 | POP_km = 62 ,&! number of vertical levels 32 | POP_nt = NT ! total number of tracers 33 | 34 | integer (POP_i4), parameter, public :: & 35 | POP_blockSizeX = BLCKX, &! size of block in first horizontal dimension 36 | POP_blockSizeY = BLCKY ! size of block in second horizontal dimension 37 | 38 | !*** The model will inform the user of the correct 39 | !*** values for the parameters below. A value higher than 40 | !*** necessary will not cause the code to fail, but will 41 | !*** allocate more memory than is necessary. A value that 42 | !*** is too low will cause the code to exit. 43 | !*** A good initial guess is found using 44 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 45 | !*** num_procs 46 | 47 | integer (POP_i4), parameter, public :: & 48 | POP_maxBlocksClinic = MXBLCKS, &! max number of blocks per processor 49 | POP_maxBlocksTropic = MXBLCKS ! in each distribution 50 | 51 | !EOP 52 | !BOC 53 | !EOC 54 | !*********************************************************************** 55 | 56 | end module POP_DomainSizeMod 57 | 58 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 59 | -------------------------------------------------------------------------------- /source/qflux_mod.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module qflux_mod 4 | 5 | !BOP 6 | ! !MODULE: qflux_mod 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module supports time-averaged qflux computations 10 | ! 11 | ! !REVISION HISTORY: 12 | ! SVN:$Id$ 13 | ! 14 | 15 | ! !USES: 16 | 17 | use kinds_mod 18 | use blocks 19 | use pop_constants 20 | use exit_mod 21 | use time_management 22 | use tavg 23 | 24 | implicit none 25 | public 26 | save 27 | 28 | !EOP 29 | !BOC 30 | 31 | integer (int_kind) :: tavg_QFLUX ! tavg id for QFLUX 32 | 33 | 34 | real (r8) :: & 35 | q0_mean_budget ! Robert Filter budget diagnostic term 36 | 37 | 38 | !EOC 39 | !*********************************************************************** 40 | 41 | contains 42 | 43 | !*********************************************************************** 44 | 45 | subroutine init_qflux 46 | 47 | character (char_len) :: string 48 | 49 | 50 | !----------------------------------------------------------------------- 51 | ! 52 | ! time-averaged field definition 53 | ! 54 | !----------------------------------------------------------------------- 55 | 56 | string = 'Internal Ocean Heat Flux Due to Ice Formation; ' /& 57 | &/ 'heat of fusion > 0 or ice-melting potential < 0 ' 58 | 59 | call define_tavg_field(tavg_QFLUX,'QFLUX',2, & 60 | long_name=trim(string), & 61 | tavg_method=tavg_method_qflux, & 62 | units='Watts/meter^2', & 63 | coordinates ='TLONG TLAT time', & 64 | grid_loc ='2111') 65 | 66 | string = 'Internal Ocean Heat Flux Due to Ice Formation for Robert Filter diagnostics; ' /& 67 | &/ 'heat of fusion > 0 or ice-melting potential < 0 ' 68 | 69 | 70 | end subroutine init_qflux 71 | 72 | 73 | !*********************************************************************** 74 | 75 | end module qflux_mod 76 | 77 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 78 | -------------------------------------------------------------------------------- /input_templates/gx1v6_tavg_contents_high_freq: -------------------------------------------------------------------------------- 1 | # An integer [1,9] in the first column identifies the field's output stream number. 2 | # To deactivate a field, replace the output stream number with # or ! 3 | 2 QFLUX ! daily for MOAR (yeager) 4 | 1 BSF 5 | 1 TFW_T 6 | 1 TFW_S 7 | 1 RESID_T 8 | 1 RESID_S 9 | 2 QSW_HTP ! daily for MOAR (yeager) 10 | 2 QSW_HBL ! daily for MOAR (yeager) 11 | 2 SHF ! daily for MOAR (yeager) 12 | 2 SHF_QSW ! daily for MOAR (yeager) 13 | 2 SFWF ! daily for MOAR (yeager) 14 | 2 PREC_F ! daily for MOAR (yeager) 15 | 2 SNOW_F ! daily for MOAR (yeager) 16 | 2 EVAP_F ! daily for MOAR (yeager) 17 | 2 MELT_F ! daily for MOAR (yeager) 18 | 2 ROFF_F ! daily for MOAR (yeager) 19 | 2 IOFF_F ! daily for MOAR (yeager) 20 | 2 SALT_F ! daily for MOAR (yeager) 21 | 2 SENH_F ! daily for MOAR (yeager) 22 | 2 LWUP_F ! daily for MOAR (yeager) 23 | 2 LWDN_F ! daily for MOAR (yeager) 24 | 2 MELTH_F ! daily for MOAR (yeager) 25 | 2 IFRAC ! daily for MOAR (yeager) 26 | 2 SSH ! daily for MOAR (surje) 27 | 2 TAUX ! daily for MOAR (yeager) 28 | 2 TAUY ! daily for MOAR (yeager) 29 | 1 SU 30 | 1 SV 31 | 1 HMXL 32 | 2 HMXL_2 33 | 1 XMXL 34 | 2 XMXL_2 35 | 1 TMXL 36 | 2 HBLT 37 | 2 XBLT 38 | 1 TBLT 39 | 1 FW 40 | 1 ADVT 41 | 1 ADVS 42 | 1 HDIFT 43 | 1 HDIFS 44 | 2 UVEL ! daily for MOAR (gokhan) 45 | 2 VVEL ! daily for MOAR (gokhan) 46 | 2 WVEL ! daily for MOAR (gokhan) 47 | 1 TEMP 48 | 1 dTEMP_POS_2D 49 | 1 dTEMP_NEG_2D 50 | 1 SALT 51 | 1 PD 52 | 1 Q 53 | 1 RHO 54 | 1 UET 55 | 1 UES 56 | 1 VNT 57 | 1 VNS 58 | 1 WTT 59 | 1 WTS 60 | 1 KAPPA_ISOP 61 | 1 KAPPA_THIC 62 | 1 HOR_DIFF 63 | 1 PV 64 | 1 KVMIX 65 | 1 TPOWER 66 | 1 DIA_DEPTH 67 | 1 TLT 68 | 1 INT_DEPTH 69 | 2 SST 70 | 2 SST2 71 | 1 VDC_T 72 | 1 VDC_S 73 | 1 UVEL2 74 | 1 VVEL2 75 | 1 WVEL2 76 | 2 RHO_VINT ! daily for MOAR (surje) 77 | 2 SFWF_WRST ! daily for MOAR (yeager) 78 | 2 TAUX2 ! daily for MOAR (yeager) 79 | 2 TAUY2 ! daily for MOAR (yeager) 80 | 1 SSH2 81 | 1 VVC 82 | 3 VDC_BCK 83 | 3 VVC_BCK 84 | 1 KVMIX_M 85 | -------------------------------------------------------------------------------- /input_templates/gx1v7_tavg_contents_high_freq: -------------------------------------------------------------------------------- 1 | # An integer [1,9] in the first column identifies the field's output stream number. 2 | # To deactivate a field, replace the output stream number with # or ! 3 | 2 QFLUX ! daily for MOAR (yeager) 4 | 1 BSF 5 | 1 TFW_T 6 | 1 TFW_S 7 | 1 RESID_T 8 | 1 RESID_S 9 | 2 QSW_HTP ! daily for MOAR (yeager) 10 | 2 QSW_HBL ! daily for MOAR (yeager) 11 | 2 SHF ! daily for MOAR (yeager) 12 | 2 SHF_QSW ! daily for MOAR (yeager) 13 | 2 SFWF ! daily for MOAR (yeager) 14 | 2 PREC_F ! daily for MOAR (yeager) 15 | 2 SNOW_F ! daily for MOAR (yeager) 16 | 2 EVAP_F ! daily for MOAR (yeager) 17 | 2 MELT_F ! daily for MOAR (yeager) 18 | 2 ROFF_F ! daily for MOAR (yeager) 19 | 2 IOFF_F ! daily for MOAR (yeager) 20 | 2 SALT_F ! daily for MOAR (yeager) 21 | 2 SENH_F ! daily for MOAR (yeager) 22 | 2 LWUP_F ! daily for MOAR (yeager) 23 | 2 LWDN_F ! daily for MOAR (yeager) 24 | 2 MELTH_F ! daily for MOAR (yeager) 25 | 2 IFRAC ! daily for MOAR (yeager) 26 | 2 SSH ! daily for MOAR (surje) 27 | 2 TAUX ! daily for MOAR (yeager) 28 | 2 TAUY ! daily for MOAR (yeager) 29 | 1 SU 30 | 1 SV 31 | 1 HMXL 32 | 2 HMXL_2 33 | 1 XMXL 34 | 2 XMXL_2 35 | 1 TMXL 36 | 2 HBLT 37 | 2 XBLT 38 | 1 TBLT 39 | 1 FW 40 | 1 ADVT 41 | 1 ADVS 42 | 1 HDIFT 43 | 1 HDIFS 44 | 2 UVEL ! daily for MOAR (gokhan) 45 | 2 VVEL ! daily for MOAR (gokhan) 46 | 2 WVEL ! daily for MOAR (gokhan) 47 | 1 TEMP 48 | 1 dTEMP_POS_2D 49 | 1 dTEMP_NEG_2D 50 | 1 SALT 51 | 1 PD 52 | 1 Q 53 | 1 RHO 54 | 1 UET 55 | 1 UES 56 | 1 VNT 57 | 1 VNS 58 | 1 WTT 59 | 1 WTS 60 | 1 KAPPA_ISOP 61 | 1 KAPPA_THIC 62 | 1 HOR_DIFF 63 | 1 PV 64 | 1 KVMIX 65 | 1 TPOWER 66 | 1 DIA_DEPTH 67 | 1 TLT 68 | 1 INT_DEPTH 69 | 2 SST 70 | 2 SST2 71 | 1 VDC_T 72 | 1 VDC_S 73 | 1 UVEL2 74 | 1 VVEL2 75 | 1 WVEL2 76 | 2 RHO_VINT ! daily for MOAR (surje) 77 | 2 SFWF_WRST ! daily for MOAR (yeager) 78 | 2 TAUX2 ! daily for MOAR (yeager) 79 | 2 TAUY2 ! daily for MOAR (yeager) 80 | 1 SSH2 81 | 1 VVC 82 | 3 VDC_BCK 83 | 3 VVC_BCK 84 | 1 KVMIX_M 85 | -------------------------------------------------------------------------------- /input_templates/test_POP_DomainSizeMod.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module POP_DomainSizeMod 4 | 5 | !BOP 6 | ! !MODULE: POP_DomainSizeMod 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains parameters for the global model domain size 10 | ! decomposition block size. It is used by the domain and block 11 | ! modules for decomposing the model domain across processors. 12 | ! 13 | ! !REVISION HISTORY: 14 | ! SVN:$Id: POP_DomainSizeMod.F90.test 12 2006-08-15 19:57:39Z $ 15 | ! 2006-08-14: Phil Jones 16 | ! New domain size module following new naming conventions 17 | 18 | ! !USES: 19 | 20 | use POP_KindsMod 21 | 22 | implicit none 23 | private 24 | save 25 | 26 | ! !DEFINED PARAMETERS: 27 | 28 | integer (POP_i4), parameter, public :: & ! model size parameters 29 | POP_nxGlobal = 192 ,&! extent of horizontal axis in i direction 30 | POP_nyGlobal = 128 ,&! extent of horizontal axis in j direction 31 | POP_km = 20 ,&! number of vertical levels 32 | POP_nt = 2 ! total number of tracers 33 | 34 | integer (POP_i4), parameter, public :: & 35 | POP_blockSizeX = 16, &! size of block in first horizontal dimension 36 | POP_blockSizeY = 16 ! size of block in second horizontal dimension 37 | 38 | !*** The model will inform the user of the correct 39 | !*** values for the parameters below. A value higher than 40 | !*** necessary will not cause the code to fail, but will 41 | !*** allocate more memory than is necessary. A value that 42 | !*** is too low will cause the code to exit. 43 | !*** A good initial guess is found using 44 | !*** max=(nx_global/block_size_x)*(ny_global/block_size_y)/ 45 | !*** num_procs 46 | 47 | integer (POP_i4), parameter, public :: & 48 | POP_maxBlocksClinic = 96, &! max number of blocks per processor 49 | POP_maxBlocksTropic = 96 ! in each distribution 50 | 51 | !EOP 52 | !BOC 53 | !EOC 54 | !*********************************************************************** 55 | 56 | end module POP_DomainSizeMod 57 | 58 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 59 | -------------------------------------------------------------------------------- /externals/manage_externals/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2017-2018, University Corporation for Atmospheric Research (UCAR) 2 | All rights reserved. 3 | 4 | Developed by: 5 | University Corporation for Atmospheric Research - National Center for Atmospheric Research 6 | https://www2.cesm.ucar.edu/working-groups/sewg 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining 9 | a copy of this software and associated documentation files (the "Software"), 10 | to deal with the Software without restriction, including without limitation 11 | the rights to use, copy, modify, merge, publish, distribute, sublicense, 12 | and/or sell copies of the Software, and to permit persons to whom 13 | the Software is furnished to do so, subject to the following conditions: 14 | 15 | - Redistributions of source code must retain the above copyright notice, 16 | this list of conditions and the following disclaimers. 17 | - Redistributions in binary form must reproduce the above copyright notice, 18 | this list of conditions and the following disclaimers in the documentation 19 | and/or other materials provided with the distribution. 20 | - Neither the names of [Name of Development Group, UCAR], 21 | nor the names of its contributors may be used to endorse or promote 22 | products derived from this Software without specific prior written permission. 23 | 24 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 25 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 26 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 27 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 28 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 29 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 30 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 31 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 32 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 33 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 34 | POSSIBILITY OF SUCH DAMAGE. 35 | -------------------------------------------------------------------------------- /MARBL_scripts/add_cocco_to_init.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | """ 4 | Read in previous ecosystem initial conditions, copy all the sp* tracers to cocco* 5 | There's also some xarray settings to keep all the metadata the same 6 | (Although I do update the global history attribute to note the cocco additions) 7 | """ 8 | 9 | import os 10 | import xarray as xr 11 | 12 | # Store old initial condition files in a dictionary 13 | files_to_update = dict() 14 | files_to_update['gx3v7'] = os.path.join(os.path.sep, 'glade','p','cesmdata', 'cseg', 'inputdata', 'ocn', 'pop', 'gx3v7', 'ic', 'ecosys_jan_IC_gx3v7_20180308.nc') 15 | files_to_update['gx1v7'] = os.path.join(os.path.sep, 'glade','p','cesmdata', 'cseg', 'inputdata', 'ocn', 'pop', 'gx1v6', 'ic', 'ecosys_jan_IC_gx1v6_20180308.nc') 16 | 17 | # Dictionary of variables to copy (key = new var, value = old) 18 | # Note that I originally started with coccoP = scalefactor * spC, 19 | # which is why the new variable is the key instead of the value 20 | var_copy_dict = dict() 21 | var_copy_dict['coccoP'] = 'spP' 22 | var_copy_dict['coccoC'] = 'spC' 23 | var_copy_dict['coccoChl'] = 'spChl' 24 | var_copy_dict['coccoFe'] = 'spFe' 25 | var_copy_dict['coccoCaCO3'] = 'spCaCO3' 26 | 27 | # For each key in files_to_update, update the file 28 | for grid in files_to_update: 29 | # open_dataset should not do any decoding 30 | ds = xr.open_dataset(files_to_update[grid], decode_cf=False) 31 | # 1. update global history attribute 32 | hist = ds.attrs['history'] 33 | ds.attrs['history'] = "{}\nJuly 12 2019: mlevy adds cocco fields (copies of sp fields)".format(hist) 34 | 35 | # 2. Copy sp tracers to cocco 36 | for new_var in var_copy_dict: 37 | print("Updating {} in {}...".format(new_var, grid)) 38 | ds[new_var] = ds[var_copy_dict[new_var]] 39 | 40 | # 3. use encoding to avoid adding _FillValue to variables that didn't have that attribute (h/t to stackoverflow) 41 | # https://stackoverflow.com/questions/45693688/xarray-automatically-applying-fillvalue-to-coordinates-on-netcdf-output 42 | for var in ds: 43 | if '_FillValue' not in ds[var].attrs: 44 | ds[var].encoding['_FillValue'] = False 45 | 46 | # 4. Create new netcdf file 47 | print("Writing {}.nc...".format(grid)) 48 | ds.to_netcdf('{}.nc'.format(grid)) 49 | print('') 50 | -------------------------------------------------------------------------------- /source/schmidt_number.F90: -------------------------------------------------------------------------------- 1 | module schmidt_number 2 | 3 | implicit none 4 | 5 | private 6 | 7 | public :: schmidt_co2 8 | 9 | contains 10 | 11 | !***************************************************************************** 12 | 13 | function schmidt_co2(SST_IN, LAND_MASK) 14 | ! 15 | ! Compute Schmidt number of CO2 in seawater as function of SST 16 | ! where LAND_MASK is true. Give zero where LAND_MASK is false. 17 | ! 18 | ! range of validity of fit is -2:40 19 | ! 20 | ! Ref : Wanninkhof 2014, Relationship between wind speed 21 | ! and gas exchange over the ocean revisited, 22 | ! Limnol. Oceanogr.: Methods, 12, 23 | ! doi:10.4319/lom.2014.12.351 24 | ! 25 | 26 | use kinds_mod, only: r8, log_kind, int_kind 27 | use pop_constants, only: c0 28 | use blocks, only: nx_block, ny_block 29 | 30 | ! INPUT PARAMETERS: 31 | real (r8) , intent(in) :: SST_IN(nx_block,ny_block) 32 | logical (log_kind), intent(in) :: LAND_MASK(nx_block,ny_block) 33 | 34 | ! OUTPUT PARAMETERS: 35 | real (r8) :: SCHMIDT_CO2(nx_block, ny_block) 36 | 37 | !----------------------------------------------------------------------- 38 | ! local variables 39 | !----------------------------------------------------------------------- 40 | integer(int_kind) :: i, j 41 | real (r8) :: SST(nx_block,ny_block) 42 | 43 | real (r8), parameter :: a = 2116.8_r8 44 | real (r8), parameter :: b = -136.25_r8 45 | real (r8), parameter :: c = 4.7353_r8 46 | real (r8), parameter :: d = -0.092307_r8 47 | real (r8), parameter :: e = 0.0007555_r8 48 | 49 | !----------------------------------------------------------------------- 50 | 51 | do j = 1, ny_block 52 | do i = 1, nx_block 53 | if (LAND_MASK(i,j)) then 54 | SST(i,j) = max(-2.0_r8, min(40.0_r8, SST_IN(i,j))) 55 | SCHMIDT_CO2(i,j) = a + SST(i,j) * (b + SST(i,j) * (c + SST(i,j) * (d + SST(i,j) * e))) 56 | else 57 | SCHMIDT_CO2(i,j) = c0 58 | endif 59 | end do 60 | end do 61 | 62 | end function schmidt_co2 63 | 64 | !***************************************************************************** 65 | 66 | end module schmidt_number 67 | -------------------------------------------------------------------------------- /input_templates/ocn.mcog.tavg.csh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env -S csh -f 2 | 3 | #------------------------------------------------------------------------------------ 4 | # For now, set streams manually. You must only set as many streams as are declared 5 | # in the tavg_nml section. For example, if there are three streams: 6 | # @ s1 = $my_stream 7 | # @ s2 = $s1 + 1 8 | # @ s3 = $s2 + 1 9 | #------------------------------------------------------------------------------------ 10 | @ my_stream = $1 11 | if ($my_stream < 1) then 12 | echo invalid my_stream number ($my_stream) 13 | exit 5 14 | endif 15 | 16 | @ s1 = 1 # use base-model stream 1 17 | 18 | set lmcog_debug = $2 19 | set mcog_ncols = $3 20 | set mcog_nbins = $4 21 | 22 | if ($lmcog_debug == ".true.") then 23 | set stream_normal_var = "2" 24 | set stream_debug_var = "2" 25 | else 26 | set stream_normal_var = "1" 27 | set stream_debug_var = "!" 28 | endif 29 | 30 | rm -f $CASEROOT/Buildconf/popconf/mcog_tavg_contents 31 | touch $CASEROOT/Buildconf/popconf/mcog_tavg_contents 32 | 33 | @ nbin = 1 34 | while ($nbin <= $mcog_nbins) 35 | set nn = `printf "%02d" $nbin` 36 | echo "$stream_debug_var FRAC_BIN_$nn" >> $CASEROOT/Buildconf/popconf/mcog_tavg_contents 37 | echo "$stream_normal_var FRACR_BIN_$nn" >> $CASEROOT/Buildconf/popconf/mcog_tavg_contents 38 | echo "$stream_debug_var QSW_RAW_BIN_$nn" >> $CASEROOT/Buildconf/popconf/mcog_tavg_contents 39 | echo "$stream_normal_var QSW_BIN_$nn" >> $CASEROOT/Buildconf/popconf/mcog_tavg_contents 40 | @ nbin++ 41 | end 42 | 43 | @ ncol = 1 44 | while ($ncol <= $mcog_ncols) 45 | set nn = `printf "%02d" $ncol` 46 | echo "$stream_debug_var FRAC_COL_$nn" >> $CASEROOT/Buildconf/popconf/mcog_tavg_contents 47 | echo "$stream_debug_var FRACR_COL_$nn" >> $CASEROOT/Buildconf/popconf/mcog_tavg_contents 48 | echo "$stream_debug_var QSW_RAW_COL_$nn" >> $CASEROOT/Buildconf/popconf/mcog_tavg_contents 49 | @ ncol++ 50 | end 51 | 52 | echo "$stream_debug_var QSW_RAW_COL_DAGG" >> $CASEROOT/Buildconf/popconf/mcog_tavg_contents 53 | echo "$stream_debug_var QSW_RAW_BIN_DAGG" >> $CASEROOT/Buildconf/popconf/mcog_tavg_contents 54 | echo "$stream_debug_var FRAC_ADJUST_FACT" >> $CASEROOT/Buildconf/popconf/mcog_tavg_contents 55 | echo "$stream_debug_var FRACR_ADJUST_FACT" >> $CASEROOT/Buildconf/popconf/mcog_tavg_contents 56 | -------------------------------------------------------------------------------- /externals/manage_externals/test/README.md: -------------------------------------------------------------------------------- 1 | # Testing for checkout_externals 2 | 3 | NOTE: Python2 is the supported runtime environment. Python3 compatibility is 4 | in progress, complicated by the different proposed input methods 5 | (yaml, xml, cfg/ini, json) and their different handling of strings 6 | (unicode vs byte) in python2. Full python3 compatibility will be 7 | possible once the number of possible input formats has been narrowed. 8 | 9 | ## Setup development environment 10 | 11 | Development environments should be setup for python2 and python3: 12 | 13 | ```SH 14 | cd checkout_externals/test 15 | make python=python2 env 16 | make python=python3 env 17 | ``` 18 | 19 | ## Unit tests 20 | 21 | Tests should be run for both python2 and python3. It is recommended 22 | that you have seperate terminal windows open python2 and python3 23 | testing to avoid errors activating and deactivating environments. 24 | 25 | ```SH 26 | cd checkout_externals/test 27 | . env_python2/bin/activate 28 | make utest 29 | deactivate 30 | ``` 31 | 32 | ```SH 33 | cd checkout_externals/test 34 | . env_python2/bin/activate 35 | make utest 36 | deactivate 37 | ``` 38 | 39 | ## System tests 40 | 41 | Not yet implemented. 42 | 43 | ## Static analysis 44 | 45 | checkout_externals is difficult to test thoroughly because it relies 46 | on git and svn, and svn requires a live network connection and 47 | repository. Static analysis will help catch bugs in code paths that 48 | are not being executed, but it requires conforming to community 49 | standards and best practices. autopep8 and pylint should be run 50 | regularly for automatic code formatting and linting. 51 | 52 | ```SH 53 | cd checkout_externals/test 54 | . env_python2/bin/activate 55 | make lint 56 | deactivate 57 | ``` 58 | 59 | The canonical formatting for the code is whatever autopep8 60 | generates. All issues identified by pylint should be addressed. 61 | 62 | 63 | ## Code coverage 64 | 65 | All changes to the code should include maintaining existing tests and 66 | writing new tests for new or changed functionality. To ensure test 67 | coverage, run the code coverage tool: 68 | 69 | ```SH 70 | cd checkout_externals/test 71 | . env_python2/bin/activate 72 | make coverage 73 | open -a Firefox.app htmlcov/index.html 74 | deactivate 75 | ``` 76 | 77 | 78 | -------------------------------------------------------------------------------- /input_templates/ocn.IRF.tavg.csh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env -S csh -f 2 | 3 | #------------------------------------------------------------------------------------ 4 | # For now, set streams manually. You must only set as many streams as are declared 5 | # in the tavg_nml section. For example, if there are three streams: 6 | # @ s1 = $my_stream 7 | # @ s2 = $s1 + 1 8 | # @ s3 = $s2 + 1 9 | #------------------------------------------------------------------------------------ 10 | 11 | @ my_stream = $1 12 | if ($my_stream < 1) then 13 | echo invalid my_stream number $my_stream 14 | exit 5 15 | endif 16 | 17 | @ s1 = 1 # use base-model stream 1 18 | 19 | set irf_tracer_file = $2 20 | set irf_tracer_file_ind_start = $3 21 | set IRF_NT = $4 22 | set IRF_MODE = $5 23 | 24 | # 25 | # all modes require VDC_GM 26 | # 27 | echo "1 VDC_GM" >! $CASEROOT/Buildconf/popconf/IRF_tavg_contents 28 | 29 | # 30 | # only NK_precond mode requires positive and negative velocity components 31 | # 32 | if ($IRF_MODE == NK_precond) then 33 | echo "1 UTE_POS" >> $CASEROOT/Buildconf/popconf/IRF_tavg_contents 34 | echo "1 UTE_NEG" >> $CASEROOT/Buildconf/popconf/IRF_tavg_contents 35 | echo "1 VTN_POS" >> $CASEROOT/Buildconf/popconf/IRF_tavg_contents 36 | echo "1 VTN_NEG" >> $CASEROOT/Buildconf/popconf/IRF_tavg_contents 37 | echo "1 WTK_POS" >> $CASEROOT/Buildconf/popconf/IRF_tavg_contents 38 | echo "1 WTK_NEG" >> $CASEROOT/Buildconf/popconf/IRF_tavg_contents 39 | endif 40 | 41 | # 42 | # extract impulse variable names from variable var_names in impulse variable file 43 | # 44 | set impulse_dim = `ncdump -h $irf_tracer_file | grep 'impulse_dim =' | head -1 | awk '{print $3}'` 45 | @ impulse_dim_p1 = $impulse_dim + 1 46 | set var_names = ( `ncdump -v var_names $irf_tracer_file | tail -n $impulse_dim_p1 | head -n $impulse_dim | cut -f2 -d\"` ) 47 | 48 | # 49 | # output lateral mixing tendencies for specified tracers, independent of mode 50 | # output adevective tendencies for offline_transport mode 51 | # 52 | @ count = 1 53 | @ irf_tracer_ind = $irf_tracer_file_ind_start 54 | while ( $count <= $IRF_NT ) 55 | set var_name = $var_names[$irf_tracer_ind] 56 | echo "1 HDIF_EXPLICIT_3D_$var_name" >> $CASEROOT/Buildconf/popconf/IRF_tavg_contents 57 | if ($IRF_MODE == offline_transport) then 58 | echo "1 ADV_3D_$var_name" >> $CASEROOT/Buildconf/popconf/IRF_tavg_contents 59 | endif 60 | @ count++ 61 | @ irf_tracer_ind++ 62 | end 63 | -------------------------------------------------------------------------------- /source/POP_GridVertMod.F90: -------------------------------------------------------------------------------- 1 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 2 | 3 | module POP_GridVertMod 4 | 5 | !BOP 6 | ! !MODULE: POP_GridVertMod 7 | ! 8 | ! !DESCRIPTION: 9 | ! This module contains vertical grid data types and common vertical 10 | ! grid parameters. 11 | ! 12 | ! !REVISION HISTORY: 13 | ! SVN:$Id$ 14 | ! 2007-02-09: Phil Jones 15 | ! Initial implementation with some basic types 16 | 17 | ! !USES: 18 | 19 | use POP_KindsMod 20 | use POP_ErrorMod 21 | 22 | implicit none 23 | private 24 | save 25 | 26 | ! !PUBLIC MEMBER FUNCTIONS: 27 | 28 | ! !PUBLIC DATA TYPES: 29 | 30 | ! !DEFINED PARAMETERS: 31 | 32 | !*** identifiers for commonly-used POP grids 33 | 34 | character ( 7), parameter, public :: POP_gridVertKindUnknown = 'Unknown' 35 | character ( 5), parameter, public :: POP_gridVertKindZ = 'Depth' 36 | !character ( 3), parameter, public :: POP_gridVertKindALE = 'ALE' 37 | !character ( 6), parameter, public :: POP_gridVertKindIsopyc = 'Isopyc' 38 | 39 | !*** identifiers for grid locations 40 | 41 | character ( 7), parameter, public :: POP_gridVertLocUnknown = 'Unknown' 42 | character ( 4), parameter, public :: POP_gridVertLocZtop = 'Ztop' 43 | character ( 4), parameter, public :: POP_gridVertLocZmid = 'Zmid' 44 | character ( 4), parameter, public :: POP_gridVertLocZbot = 'Zbot' 45 | !character ( 8), parameter, public :: POP_gridVertLocLayerTop = 'LayerTop' 46 | !character ( 8), parameter, public :: POP_gridVertLocLayerMid = 'LayerMid' 47 | !character ( 8), parameter, public :: POP_gridVertLocLayerBot = 'LayerBot' 48 | 49 | !EOP 50 | !BOC 51 | !EOC 52 | !*********************************************************************** 53 | 54 | !contains 55 | 56 | !*********************************************************************** 57 | !BOP 58 | ! !IROUTINE: 59 | ! !INTERFACE: 60 | 61 | ! !DESCRIPTION: 62 | ! 63 | ! !REVISION HISTORY: 64 | ! same as module 65 | 66 | ! !INPUT PARAMETERS: 67 | 68 | ! !OUTPUT PARAMETERS: 69 | 70 | !EOP 71 | !BOC 72 | !----------------------------------------------------------------------- 73 | !----------------------------------------------------------------------- 74 | !EOC 75 | 76 | !*********************************************************************** 77 | 78 | end module POP_GridVertMod 79 | 80 | !||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 81 | -------------------------------------------------------------------------------- /input_templates/ocn.abio_dic_dic14.tavg.csh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env -S csh -f 2 | 3 | #------------------------------------------------------------------------------------ 4 | # For now, set streams manually. You must only set as many streams as are declared 5 | # in the tavg_nml section. For example, if there are three streams: 6 | # @ s1 = $my_stream 7 | # @ s2 = $s1 + 1 8 | # @ s3 = $s2 + 1 9 | #------------------------------------------------------------------------------------ 10 | @ my_stream = $1 11 | if ($my_stream < 1) then 12 | echo invalid my_stream number ($my_stream) 13 | exit 5 14 | endif 15 | 16 | @ s1 = 1 # use base-model stream 1 17 | 18 | set abio_dic_dic14_ltavg_NK = $2 19 | 20 | cat >! $CASEROOT/Buildconf/popconf/abio_dic_dic14_tavg_contents << EOF 21 | $s1 ABIO_DIC 22 | $s1 ABIO_DIC14 23 | $s1 ABIO_D14Cocn 24 | $s1 FvICE_ABIO_DIC 25 | $s1 FvPER_ABIO_DIC 26 | $s1 FvICE_ABIO_DIC14 27 | $s1 FvPER_ABIO_DIC14 28 | $s1 FG_ABIO_DIC14 29 | $s1 FG_ABIO_DIC 30 | $s1 ABIO_pCO2SURF 31 | $s1 ABIO_DCO2STAR 32 | $s1 ABIO_CO2STAR 33 | $s1 ABIO_DpCO2 34 | $s1 ABIO_pCO2 35 | $s1 ABIO_D14Catm 36 | $s1 ABIO_ALK_SURF 37 | $s1 ABIO_PH_SURF 38 | $s1 STF_ABIO_DIC 39 | $s1 STF_ABIO_DIC14 40 | $s1 Jint_ABIO_DIC14 41 | EOF 42 | 43 | if ($abio_dic_dic14_ltavg_NK == ".true.") then 44 | cat >> $CASEROOT/Buildconf/popconf/abio_dic_dic14_tavg_contents << EOF 45 | $s1 d_SF_ABIO_DIC_d_ABIO_DIC 46 | $s1 d_SF_ABIO_DIC14_d_ABIO_DIC 47 | $s1 d_SF_ABIO_DIC14_d_ABIO_DIC14 48 | EOF 49 | endif 50 | 51 | if ($OCN_TAVG_TRACER_BUDGET == TRUE) then 52 | cat >> $CASEROOT/Buildconf/popconf/abio_dic_dic14_tavg_contents << EOF 53 | $s1 KPP_SRC_ABIO_DIC14 54 | $s1 KPP_SRC_ABIO_DIC 55 | $s1 DIA_IMPVF_ABIO_DIC14 56 | $s1 DIA_IMPVF_ABIO_DIC 57 | $s1 HDIFE_ABIO_DIC14 58 | $s1 HDIFE_ABIO_DIC 59 | $s1 HDIFN_ABIO_DIC14 60 | $s1 HDIFN_ABIO_DIC 61 | $s1 HDIFB_ABIO_DIC14 62 | $s1 HDIFB_ABIO_DIC 63 | $s1 UE_ABIO_DIC14 64 | $s1 UE_ABIO_DIC 65 | $s1 VN_ABIO_DIC14 66 | $s1 VN_ABIO_DIC 67 | $s1 WT_ABIO_DIC14 68 | $s1 WT_ABIO_DIC 69 | $s1 J_ABIO_DIC14 70 | $s1 TEND_ABIO_DIC14 71 | $s1 TEND_ABIO_DIC 72 | $s1 RF_TEND_ABIO_DIC14 73 | $s1 RF_TEND_ABIO_DIC 74 | EOF 75 | endif 76 | 77 | #=============================================================================== 78 | # The following are fields computed by the CFC modules that are not placed in 79 | # the tavg file by default. 80 | # $s1 Jint_100m_DIC 81 | # $s1 Jint_100m_DIC14 82 | #=============================================================================== 83 | -------------------------------------------------------------------------------- /input_templates/gx1v6_vert_grid: -------------------------------------------------------------------------------- 1 | 1000.0000 5.0000 10.0000 2 | 1000.0000 15.0000 20.0000 3 | 1000.0000 25.0000 30.0000 4 | 1000.0000 35.0000 40.0000 5 | 1000.0000 45.0000 50.0000 6 | 1000.0000 55.0000 60.0000 7 | 1000.0000 65.0000 70.0000 8 | 1000.0000 75.0000 80.0000 9 | 1000.0000 85.0000 90.0000 10 | 1000.0000 95.0000 100.0000 11 | 1000.0000 105.0000 110.0000 12 | 1000.0000 115.0000 120.0000 13 | 1000.0000 125.0000 130.0000 14 | 1000.0000 135.0000 140.0000 15 | 1000.0000 145.0000 150.0000 16 | 1000.0000 155.0000 160.0000 17 | 1019.6808 165.0984 170.1968 18 | 1056.4484 175.4790 180.7613 19 | 1105.9951 186.2913 191.8212 20 | 1167.8070 197.6603 203.4993 21 | 1242.4133 209.7114 215.9234 22 | 1330.9678 222.5783 229.2331 23 | 1435.1410 236.4088 243.5845 24 | 1557.1259 251.3702 259.1558 25 | 1699.6796 267.6542 276.1526 26 | 1866.2124 285.4836 294.8147 27 | 2060.9023 305.1192 315.4237 28 | 2288.8521 326.8680 338.3122 29 | 2556.2471 351.0934 363.8747 30 | 2870.5750 378.2276 392.5804 31 | 3240.8372 408.7846 424.9888 32 | 3677.7725 443.3777 461.7665 33 | 4194.0308 482.7367 503.7068 34 | 4804.2236 527.7280 551.7491 35 | 5524.7544 579.3729 606.9966 36 | 6373.1919 638.8626 670.7286 37 | 7366.9448 707.5633 744.3980 38 | 8520.8926 787.0024 829.6069 39 | 9843.6582 878.8252 928.0435 40 | 11332.4658 984.7058 1041.3682 41 | 12967.1992 1106.2041 1171.0402 42 | 14705.3438 1244.5669 1318.0936 43 | 16480.7090 1400.4972 1482.9008 44 | 18209.1348 1573.9464 1664.9921 45 | 19802.2344 1764.0032 1863.0144 46 | 21185.9570 1968.9442 2074.8740 47 | 22316.5098 2186.4565 2298.0391 48 | 23186.4941 2413.9717 2529.9041 49 | 23819.4492 2649.0015 2768.0986 50 | 24257.2168 2889.3848 3010.6709 51 | 24546.7793 3133.4048 3256.1387 52 | 24731.0137 3379.7937 3503.4487 53 | 24844.3281 3627.6704 3751.8921 54 | 24911.9746 3876.4519 4001.0117 55 | 24951.2910 4125.7681 4250.5244 56 | 24973.5938 4375.3921 4500.2603 57 | 24985.9609 4625.1899 4750.1196 58 | 24992.6738 4875.0830 5000.0464 59 | 24996.2441 5125.0273 5250.0088 60 | 24998.1094 5374.9990 5499.9897 61 | -------------------------------------------------------------------------------- /input_templates/gx1v7_vert_grid: -------------------------------------------------------------------------------- 1 | 1000.0000 5.0000 10.0000 2 | 1000.0000 15.0000 20.0000 3 | 1000.0000 25.0000 30.0000 4 | 1000.0000 35.0000 40.0000 5 | 1000.0000 45.0000 50.0000 6 | 1000.0000 55.0000 60.0000 7 | 1000.0000 65.0000 70.0000 8 | 1000.0000 75.0000 80.0000 9 | 1000.0000 85.0000 90.0000 10 | 1000.0000 95.0000 100.0000 11 | 1000.0000 105.0000 110.0000 12 | 1000.0000 115.0000 120.0000 13 | 1000.0000 125.0000 130.0000 14 | 1000.0000 135.0000 140.0000 15 | 1000.0000 145.0000 150.0000 16 | 1000.0000 155.0000 160.0000 17 | 1019.6808 165.0984 170.1968 18 | 1056.4484 175.4790 180.7613 19 | 1105.9951 186.2913 191.8212 20 | 1167.8070 197.6603 203.4993 21 | 1242.4133 209.7114 215.9234 22 | 1330.9678 222.5783 229.2331 23 | 1435.1410 236.4088 243.5845 24 | 1557.1259 251.3702 259.1558 25 | 1699.6796 267.6542 276.1526 26 | 1866.2124 285.4836 294.8147 27 | 2060.9023 305.1192 315.4237 28 | 2288.8521 326.8680 338.3122 29 | 2556.2471 351.0934 363.8747 30 | 2870.5750 378.2276 392.5804 31 | 3240.8372 408.7846 424.9888 32 | 3677.7725 443.3777 461.7665 33 | 4194.0308 482.7367 503.7068 34 | 4804.2236 527.7280 551.7491 35 | 5524.7544 579.3729 606.9966 36 | 6373.1919 638.8626 670.7286 37 | 7366.9448 707.5633 744.3980 38 | 8520.8926 787.0024 829.6069 39 | 9843.6582 878.8252 928.0435 40 | 11332.4658 984.7058 1041.3682 41 | 12967.1992 1106.2041 1171.0402 42 | 14705.3438 1244.5669 1318.0936 43 | 16480.7090 1400.4972 1482.9008 44 | 18209.1348 1573.9464 1664.9921 45 | 19802.2344 1764.0032 1863.0144 46 | 21185.9570 1968.9442 2074.8740 47 | 22316.5098 2186.4565 2298.0391 48 | 23186.4941 2413.9717 2529.9041 49 | 23819.4492 2649.0015 2768.0986 50 | 24257.2168 2889.3848 3010.6709 51 | 24546.7793 3133.4048 3256.1387 52 | 24731.0137 3379.7937 3503.4487 53 | 24844.3281 3627.6704 3751.8921 54 | 24911.9746 3876.4519 4001.0117 55 | 24951.2910 4125.7681 4250.5244 56 | 24973.5938 4375.3921 4500.2603 57 | 24985.9609 4625.1899 4750.1196 58 | 24992.6738 4875.0830 5000.0464 59 | 24996.2441 5125.0273 5250.0088 60 | 24998.1094 5374.9990 5499.9897 61 | -------------------------------------------------------------------------------- /input_templates/gx3v7_vert_grid: -------------------------------------------------------------------------------- 1 | 1000.0000 5.0000 10.0000 2 | 1000.0000 15.0000 20.0000 3 | 1000.0000 25.0000 30.0000 4 | 1000.0000 35.0000 40.0000 5 | 1000.0000 45.0000 50.0000 6 | 1000.0000 55.0000 60.0000 7 | 1000.0000 65.0000 70.0000 8 | 1000.0000 75.0000 80.0000 9 | 1000.0000 85.0000 90.0000 10 | 1000.0000 95.0000 100.0000 11 | 1000.0000 105.0000 110.0000 12 | 1000.0000 115.0000 120.0000 13 | 1000.0000 125.0000 130.0000 14 | 1000.0000 135.0000 140.0000 15 | 1000.0000 145.0000 150.0000 16 | 1000.0000 155.0000 160.0000 17 | 1019.6808 165.0984 170.1968 18 | 1056.4484 175.4790 180.7613 19 | 1105.9951 186.2913 191.8212 20 | 1167.8070 197.6603 203.4993 21 | 1242.4133 209.7114 215.9234 22 | 1330.9678 222.5783 229.2331 23 | 1435.1410 236.4088 243.5845 24 | 1557.1259 251.3702 259.1558 25 | 1699.6796 267.6542 276.1526 26 | 1866.2124 285.4836 294.8147 27 | 2060.9023 305.1192 315.4237 28 | 2288.8521 326.8680 338.3122 29 | 2556.2471 351.0934 363.8747 30 | 2870.5750 378.2276 392.5804 31 | 3240.8372 408.7846 424.9888 32 | 3677.7725 443.3777 461.7665 33 | 4194.0308 482.7367 503.7068 34 | 4804.2236 527.7280 551.7491 35 | 5524.7544 579.3729 606.9966 36 | 6373.1919 638.8626 670.7286 37 | 7366.9448 707.5633 744.3980 38 | 8520.8926 787.0024 829.6069 39 | 9843.6582 878.8252 928.0435 40 | 11332.4658 984.7058 1041.3682 41 | 12967.1992 1106.2041 1171.0402 42 | 14705.3438 1244.5669 1318.0936 43 | 16480.7090 1400.4972 1482.9008 44 | 18209.1348 1573.9464 1664.9921 45 | 19802.2344 1764.0032 1863.0144 46 | 21185.9570 1968.9442 2074.8740 47 | 22316.5098 2186.4565 2298.0391 48 | 23186.4941 2413.9717 2529.9041 49 | 23819.4492 2649.0015 2768.0986 50 | 24257.2168 2889.3848 3010.6709 51 | 24546.7793 3133.4048 3256.1387 52 | 24731.0137 3379.7937 3503.4487 53 | 24844.3281 3627.6704 3751.8921 54 | 24911.9746 3876.4519 4001.0117 55 | 24951.2910 4125.7681 4250.5244 56 | 24973.5938 4375.3921 4500.2603 57 | 24985.9609 4625.1899 4750.1196 58 | 24992.6738 4875.0830 5000.0464 59 | 24996.2441 5125.0273 5250.0088 60 | 24998.1094 5374.9990 5499.9897 61 | --------------------------------------------------------------------------------