checks.f param.h size.h derived_options.h pconst.h stdunits.h accel.h coord.h csbc.h grdvar.h hmixc.h iounit.h levind.h isopyc.h mw.h scalar.h ndcon.h switch.h taskrows.h vmixc.h #include "param.h" #include "accel.h" #include "coord.h" #include "csbc.h" #include "grdvar.h" #include "hmixc.h" #include "iounit.h" #include "levind.h" #if defined isopycmix || defined isoneutralmix # include "isopyc.h" #endif #include "mw.h" #include "scalar.h" #include "switch.h" #include "taskrows.h" #include "vmixc.h" #if defined xbts # include "xbt.h" #endif #if defined coarse_grained_parallelism #else #endif #if defined coarse_grained_parallelism # if defined fourth_order_window && !defined pressure_gradient_average # endif # define other_fourth_order = defined biharmonic || defined fourth_order_tracer_advection || defined fct # if defined other_fourth_order && defined pressure_gradient_average # endif # if !defined fourth_order_window # endif # if defined equivalence_mw # endif # if defined trajectories # endif #endif #if defined pressure_gradient_average #endif #if defined linearized_advection # if defined fct # endif # if defined fourth_order_tracer_advection # endif # if defined quicker # endif # if !defined linearized_density # endif # if defined minimize_sbc_memory && defined time_mean_sbc_data # endif #endif #if defined consthmix #endif #if defined constvmix #endif #if defined bryan_lewis_vertical #endif #if defined bryan_lewis_horizontal # if !defined consthmix # endif #endif #if defined tcvmix #endif #if defined rigid_lid_surface_pressure #endif #if defined rigid_lid_surface_pressure || defined implicit_free_surface # if defined hypergrid || defined oldrelax # endif # if defined sf_5_point # endif #endif #if !defined stream_function && !defined implicit_free_surface # if !defined rigid_lid_surface_pressure # endif #endif #if defined stream_function # if !defined sf_5_point && !defined sf_9_point # endif # if defined sf_5_point && defined sf_9_point # endif #endif #if defined coarse_grained_parallelism #else # if defined fourth_order_window # endif # if defined fourth_order_window # else # endif #endif #if defined fourth_order_window #else #endif #if defined equivalence_mw #endif #if defined restorst #else #endif # if defined fourth_order_tracer_advection # endif #if defined isopycmix || defined isoneutralmix # if defined consthmix && !defined biharmonic # endif # if defined biharmonic # endif #else # if defined gent_mcwilliams # endif #endif #if defined obc # if defined symmetry # endif # if !defined conjugate_gradient # endif # if !defined consthmix || !defined constvmix # endif # if !defined stream_function # endif # if defined cyclic # if defined obc_west || defined obc_east # endif # endif #endif #if defined orlanski && !defined obc #endif #if defined obcparameter # if !defined obc # endif # if !defined snapshots # endif #endif #if defined implicit_free_surface && defined stream_function #endif #if defined rigid_lid_surface_pressure && defined stream_function #endif #if defined rigid_lid_surface_pressure || defined implicit_free_surface #if defined diagnostic_surf_height #endif #endif #if defined stream_function # if !defined conjugate_gradient && !defined oldrelax # if !defined hypergrid # endif # endif # if defined oldrelax && defined hypergrid # endif # if defined oldrelax && defined conjugate_gradient # endif # if defined oldrelax && defined conjugate_gradient # endif # if defined hypergrid && defined conjugate_gradient # endif # if defined hypergrid && defined conjugate_gradient # endif # if defined sf_9_point # endif # if defined sf_5_point # endif # if defined sf_9_point && defined oldrelax # endif #endif #if defined free_slip #endif #if defined biharmonic && defined free_slip #endif #if defined biharmonic && !defined consthmix #endif #if defined isopycmix || defined isoneutralmix # if defined consthmix # endif #endif #if defined trajectories # if !defined lyapunov # endif #else # if defined lyapunov # endif #endif #if defined meridional_tracer_budget #else #endif #if defined time_averages #else #endif #if defined xbts #else #endif #if defined diagnostic_surf_height #else #endif #if defined consthmix # if defined isopycmix || defined isoneutralmix # else # endif # if defined isopycmix || defined isoneutralmix # else # endif #endif #if defined sponges # if !defined source_term # endif #endif #if defined shortwave # if !defined source_term # endif # if !defined uvic_embm # endif #else #endif #if defined constvmix #endif #if defined implicitvmix # if defined fullconvect # endif #else # if defined fullconvect # else # endif #endif #if defined tcvmix && !defined implicitvmix #endif #if !defined implicitvmix && !defined isopycmix && !defined isoneutralmix #endif #if defined damp_inertial_oscillation # if defined fct # endif #else #endif #if defined consthmix #endif #if defined cyclic && defined solid_walls #endif #if !defined cyclic && !defined solid_walls && !defined obc #endif #if defined solid_walls # if !defined obc_west && !defined obc_east # endif #endif #if !defined obc_south && !defined obc_north #if !defined symmetry #endif #endif #if !defined quicker && defined ncar_upwind3 #endif #if defined fct # if defined fourth_order_tracer_advection # endif # if defined quicker # endif # if defined fct_dlm1 && defined fct_dlm2 # endif # if !defined fct_dlm1 && !defined fct_dlm2 # endif #else # if defined fct_dlm1 || defined fct_dlm2 || defined fct_3d # endif #endif #if defined pressure_gradient_average && !defined fourth_order_window #endif #if defined biharmonic && !defined fourth_order_window #endif #if defined fct && !defined fourth_order_window #endif #if defined quicker && !defined fourth_order_window #endif #if defined fourth_order_tracer_advection && !defined fourth_order_window #endif #if defined held_larichev #endif #include "param.h" #include "accel.h" #include "coord.h" #include "csbc.h" #include "grdvar.h" #include "hmixc.h" #include "iounit.h" #include "levind.h" #if defined isopycmix || defined isoneutralmix # include "isopyc.h" #endif #include "mw.h" #include "scalar.h" #include "switch.h" #include "taskrows.h" #include "vmixc.h" #if defined xbts # include "xbt.h" #endif #if defined coarse_grained_parallelism #else #endif #if defined coarse_grained_parallelism # if defined fourth_order_window && !defined pressure_gradient_average # endif # define other_fourth_order = defined biharmonic || defined fourth_order_tracer_advection || defined fct # if defined other_fourth_order && defined pressure_gradient_average # endif # if !defined fourth_order_window # endif # if defined equivalence_mw # endif # if defined trajectories # endif #endif #if defined pressure_gradient_average #endif #if defined linearized_advection # if defined fct # endif # if defined fourth_order_tracer_advection # endif # if defined quicker # endif # if !defined linearized_density # endif # if defined minimize_sbc_memory && defined time_mean_sbc_data # endif #endif #if defined consthmix #endif #if defined constvmix #endif #if defined bryan_lewis_vertical #endif #if defined bryan_lewis_horizontal # if !defined consthmix # endif #endif #if defined tcvmix #endif #if defined rigid_lid_surface_pressure #endif #if defined rigid_lid_surface_pressure || defined implicit_free_surface # if defined hypergrid || defined oldrelax # endif # if defined sf_5_point # endif #endif #if !defined stream_function && !defined implicit_free_surface # if !defined rigid_lid_surface_pressure # endif #endif #if defined stream_function # if !defined sf_5_point && !defined sf_9_point # endif # if defined sf_5_point && defined sf_9_point # endif #endif #if defined coarse_grained_parallelism #else # if defined fourth_order_window # endif # if defined fourth_order_window # else # endif #endif #if defined fourth_order_window #else #endif #if defined equivalence_mw #endif #if defined restorst #else #endif # if defined fourth_order_tracer_advection # endif #if defined isopycmix || defined isoneutralmix # if defined consthmix && !defined biharmonic # endif # if defined biharmonic # endif #else # if defined gent_mcwilliams # endif #endif #if defined obc # if defined symmetry # endif # if !defined conjugate_gradient # endif # if !defined consthmix || !defined constvmix # endif # if !defined stream_function # endif # if defined cyclic # if defined obc_west || defined obc_east # endif # endif #endif #if defined orlanski && !defined obc #endif #if defined obcparameter # if !defined obc # endif # if !defined snapshots # endif #endif #if defined implicit_free_surface && defined stream_function #endif #if defined rigid_lid_surface_pressure && defined stream_function #endif #if defined rigid_lid_surface_pressure || defined implicit_free_surface #if defined diagnostic_surf_height #endif #endif #if defined stream_function # if !defined conjugate_gradient && !defined oldrelax # if !defined hypergrid # endif # endif # if defined oldrelax && defined hypergrid # endif # if defined oldrelax && defined conjugate_gradient # endif # if defined oldrelax && defined conjugate_gradient # endif # if defined hypergrid && defined conjugate_gradient # endif # if defined hypergrid && defined conjugate_gradient # endif # if defined sf_9_point # endif # if defined sf_5_point # endif # if defined sf_9_point && defined oldrelax # endif #endif #if defined free_slip #endif #if defined biharmonic && defined free_slip #endif #if defined biharmonic && !defined consthmix #endif #if defined isopycmix || defined isoneutralmix # if defined consthmix # endif #endif #if defined trajectories # if !defined lyapunov # endif #else # if defined lyapunov # endif #endif #if defined meridional_tracer_budget #else #endif #if defined time_averages #else #endif #if defined xbts #else #endif #if defined diagnostic_surf_height #else #endif #if defined consthmix # if defined isopycmix || defined isoneutralmix # else # endif # if defined isopycmix || defined isoneutralmix # else # endif #endif #if defined sponges # if !defined source_term # endif #endif #if defined shortwave # if !defined source_term # endif # if !defined uvic_embm # endif #else #endif #if defined constvmix #endif #if defined implicitvmix # if defined fullconvect # endif #else # if defined fullconvect # else # endif #endif #if defined tcvmix && !defined implicitvmix #endif #if !defined implicitvmix && !defined isopycmix && !defined isoneutralmix #endif #if defined damp_inertial_oscillation # if defined fct # endif #else #endif #if defined consthmix #endif #if defined cyclic && defined solid_walls #endif #if !defined cyclic && !defined solid_walls && !defined obc #endif #if defined solid_walls # if !defined obc_west && !defined obc_east # endif #endif #if !defined obc_south && !defined obc_north #if !defined symmetry #endif #endif #if !defined quicker && defined ncar_upwind3 #endif #if defined fct # if defined fourth_order_tracer_advection # endif # if defined quicker # endif # if defined fct_dlm1 && defined fct_dlm2 # endif # if !defined fct_dlm1 && !defined fct_dlm2 # endif #else # if defined fct_dlm1 || defined fct_dlm2 || defined fct_3d # endif #endif #if defined pressure_gradient_average && !defined fourth_order_window #endif #if defined biharmonic && !defined fourth_order_window #endif #if defined fct && !defined fourth_order_window #endif #if defined quicker && !defined fourth_order_window #endif #if defined fourth_order_tracer_advection && !defined fourth_order_window #endif #if defined held_larichev #endif #include "size.h" #if defined readrmsk #else #endif #if defined biharmonic #endif #if defined symmetry #else #endif #if defined coarse_grained_parallelism #else # if defined fourth_order_window # if defined pressure_gradient_average # if defined biharmonic || defined fourth_order_tracer_advection || defined fct || defined quicker # else # endif # else # endif # else # endif #endif #if defined uvic_carbon_14 #endif #if defined osu_c13 #endif #include "pconst.h" #include "stdunits.h" # include "derived_options.h" #if defined uvic_carbon # if defined uvic_carbon_14 # endif # if defined osu_c13 # endif #endif #if defined uvic_cfc11 #endif #if defined uvic_cfc12 #endif #if defined uvic_alk #endif #if defined uvic_o2 #endif #if defined uvic_npzd # if defined uvic_nitrogen # endif #endif #if defined uvic_carbon # if defined uvic_carbon_14 # endif # if defined osu_c13 # endif #endif #if defined uvic_alk #endif #if defined uvic_o2 #endif #if defined uvic_npzd # if defined uvic_nitrogen # endif #endif #if defined uvic_carbon && defined uvic_carbon_co2_2d #endif #if defined coarse_grained_parallelism && defined ramdrive #endif #if defined obctest # if defined obc_south || defined obc_north # else # endif #endif #if defined obctest2 # if defined obc_south # else # endif #endif #if defined obc_south || defined obc_north || defined obc_west || defined obc_east && !defined obc # define obc #endif #if !defined coarse_grained_parallelism # if !defined uvic_min_window # else # if defined fourth_order_window # if defined pressure_gradient_average # if defined biharmonic || defined fourth_order_tracer_advection || defined fct || defined quicker # else # endif # else # endif # else # endif # endif #else # if defined fourth_order_window # if defined pressure_gradient_average # if defined biharmonic || defined fourth_order_tracer_advection || defined fct || defined quicker # else # endif # else # endif # else # endif #endif #if defined coarse_grained_parallelism # if defined fourth_order_window # if defined pressure_gradient_average # endif # if defined biharmonic || defined fourth_order_tracer_advection || defined fct || defined quicker # endif # endif #else #endif #if !defined fct && !defined fourth_order_tracer_advection && !defined quicker && !defined second_order_tracer_advection # define second_order_tracer_advection #endif #if defined uvic_mtlm #endif # include "derived_options.h" #if defined uvic_carbon # if defined uvic_carbon_14 # endif # if defined osu_c13 # endif #endif #if defined uvic_cfc11 #endif #if defined uvic_cfc12 #endif #if defined uvic_alk #endif #if defined uvic_o2 #endif #if defined uvic_npzd # if defined uvic_nitrogen # endif #endif #if defined uvic_carbon # if defined uvic_carbon_14 # endif # if defined osu_c13 # endif #endif #if defined uvic_alk #endif #if defined uvic_o2 #endif #if defined uvic_npzd # if defined uvic_nitrogen # endif #endif #if defined uvic_carbon && defined uvic_carbon_co2_2d #endif #if defined coarse_grained_parallelism && defined ramdrive #endif #if defined obctest # if defined obc_south || defined obc_north # else # endif #endif #if defined obctest2 # if defined obc_south # else # endif #endif #if defined obc_south || defined obc_north || defined obc_west || defined obc_east && !defined obc # define obc #endif #if !defined coarse_grained_parallelism # if !defined uvic_min_window # else # if defined fourth_order_window # if defined pressure_gradient_average # if defined biharmonic || defined fourth_order_tracer_advection || defined fct || defined quicker # else # endif # else # endif # else # endif # endif #else # if defined fourth_order_window # if defined pressure_gradient_average # if defined biharmonic || defined fourth_order_tracer_advection || defined fct || defined quicker # else # endif # else # endif # else # endif #endif #if defined coarse_grained_parallelism # if defined fourth_order_window # if defined pressure_gradient_average # endif # if defined biharmonic || defined fourth_order_tracer_advection || defined fct || defined quicker # endif # endif #else #endif #if !defined fct && !defined fourth_order_tracer_advection && !defined quicker && !defined second_order_tracer_advection # define second_order_tracer_advection #endif #if defined uvic_mtlm #endif #if defined pressure_gradient_average && !defined fourth_order_window # define fourth_order_window #endif #if defined biharmonic && !defined fourth_order_window # define fourth_order_window #endif #if defined fourth_order_tracer_advection && !defined fourth_order_window # define fourth_order_window #endif #if defined fct && !defined fourth_order_window # define fourth_order_window #endif #if defined quicker && !defined fourth_order_window # define fourth_order_window #endif #if defined uvic_embm && !defined uvic_mom && !defined uvic_replacst # define uvic_replacst #endif #if defined uvic_npzd || defined uvic_carbon_14 || defined uvic_o2 # if !defined source_term # define source_term # endif #endif #if defined uvic_ice_cpts10 || defined uvic_ice_cpts5 || defined uvic_ice_cpts3 || defined uvic_ice_cpts1 # if !defined uvic_ice_cpts # define uvic_ice_cpts # endif #endif #if defined uvic_ice_cpts # if !defined uvic_ice_cpts10 && !defined uvic_ice_cpts5 && !defined uvic_ice_cpts3 && !defined uvic_ice_cpts1 # define uvic_ice_cpts1 # endif #endif #if defined uvic_cfc # if !defined uvic_cfc11 # define uvic_cfc11 # endif # if !defined uvic_cfc12 # define uvic_cfc12 # endif #endif #if defined uvic_embm_CO2_lin && !defined uvic_embm_co2_lin # define uvic_embm_co2_lin #endif #if defined uvic_embm_CO2_exp && !defined uvic_embm_co2_exp # define uvic_embm_co2_exp #endif #if defined uvic_embm_crops && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_cropdata && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_cropdata_transient # define uvic_embm_cropdata_transient #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_crops_transient # define uvic_embm_crops_transient #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_solardata_transient && !defined uvic_embm_solardata # define uvic_embm_solardata #endif #if defined uvic_embm_co2data_transient && !defined uvic_embm_co2data # define uvic_embm_co2data #endif #if defined uvic_embm_icedata_transient && !defined uvic_embm_icedata # define uvic_embm_icedata #endif #if defined llnl_plume_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_salt && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_brine && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_salt && !defined llnl_plume # define llnl_plume #endif #if defined biharmonic_rm || defined redi_diffusion || defined gent_mcwilliams || defined save_density_terms # if !defined isopycmix && !defined isoneutralmix # define isopycmix # endif # if !defined dm_taper # define gkw_taper # endif #else # if !defined dm_taper && defined isopycmix # define gkw_taper # endif #endif #if defined redi_diffusion # if !defined full_tensor && !defined small_tensor # define small_tensor # endif #endif #if defined gent_mcwilliams # if !defined gm_advect && !defined gm_skew # define gm_skew # endif #endif #if !defined sixth_order_window && !defined fourth_order_window && !defined second_order_window # if defined biharmonic_rm || defined isotropic_mixed || defined parallel_1d || defined bbl_ag # if !defined fourth_order_window # define fourth_order_window # endif # elif defined fourth_order_tracer_advection || defined fct || defined quicker # if !defined fourth_order_window # define fourth_order_window # endif # elif defined tracer_horz_biharmonic || defined velocity_horz_biharmonic # if !defined fourth_order_window # define fourth_order_window # endif # else # define second_order_window # endif #endif #if defined pressure_gradient_average && !defined fourth_order_window # define fourth_order_window #endif #if defined biharmonic && !defined fourth_order_window # define fourth_order_window #endif #if defined fourth_order_tracer_advection && !defined fourth_order_window # define fourth_order_window #endif #if defined fct && !defined fourth_order_window # define fourth_order_window #endif #if defined quicker && !defined fourth_order_window # define fourth_order_window #endif #if defined uvic_embm && !defined uvic_mom && !defined uvic_replacst # define uvic_replacst #endif #if defined uvic_npzd || defined uvic_carbon_14 || defined uvic_o2 # if !defined source_term # define source_term # endif #endif #if defined uvic_ice_cpts10 || defined uvic_ice_cpts5 || defined uvic_ice_cpts3 || defined uvic_ice_cpts1 # if !defined uvic_ice_cpts # define uvic_ice_cpts # endif #endif #if defined uvic_ice_cpts # if !defined uvic_ice_cpts10 && !defined uvic_ice_cpts5 && !defined uvic_ice_cpts3 && !defined uvic_ice_cpts1 # define uvic_ice_cpts1 # endif #endif #if defined uvic_cfc # if !defined uvic_cfc11 # define uvic_cfc11 # endif # if !defined uvic_cfc12 # define uvic_cfc12 # endif #endif #if defined uvic_embm_CO2_lin && !defined uvic_embm_co2_lin # define uvic_embm_co2_lin #endif #if defined uvic_embm_CO2_exp && !defined uvic_embm_co2_exp # define uvic_embm_co2_exp #endif #if defined uvic_embm_crops && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_cropdata && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_cropdata_transient # define uvic_embm_cropdata_transient #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_crops_transient # define uvic_embm_crops_transient #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_solardata_transient && !defined uvic_embm_solardata # define uvic_embm_solardata #endif #if defined uvic_embm_co2data_transient && !defined uvic_embm_co2data # define uvic_embm_co2data #endif #if defined uvic_embm_icedata_transient && !defined uvic_embm_icedata # define uvic_embm_icedata #endif #if defined llnl_plume_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_salt && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_brine && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_salt && !defined llnl_plume # define llnl_plume #endif #if defined biharmonic_rm || defined redi_diffusion || defined gent_mcwilliams || defined save_density_terms # if !defined isopycmix && !defined isoneutralmix # define isopycmix # endif # if !defined dm_taper # define gkw_taper # endif #else # if !defined dm_taper && defined isopycmix # define gkw_taper # endif #endif #if defined redi_diffusion # if !defined full_tensor && !defined small_tensor # define small_tensor # endif #endif #if defined gent_mcwilliams # if !defined gm_advect && !defined gm_skew # define gm_skew # endif #endif #if !defined sixth_order_window && !defined fourth_order_window && !defined second_order_window # if defined biharmonic_rm || defined isotropic_mixed || defined parallel_1d || defined bbl_ag # if !defined fourth_order_window # define fourth_order_window # endif # elif defined fourth_order_tracer_advection || defined fct || defined quicker # if !defined fourth_order_window # define fourth_order_window # endif # elif defined tracer_horz_biharmonic || defined velocity_horz_biharmonic # if !defined fourth_order_window # define fourth_order_window # endif # else # define second_order_window # endif #endif #if defined pressure_gradient_average && !defined fourth_order_window # define fourth_order_window #endif #if defined biharmonic && !defined fourth_order_window # define fourth_order_window #endif #if defined fourth_order_tracer_advection && !defined fourth_order_window # define fourth_order_window #endif #if defined fct && !defined fourth_order_window # define fourth_order_window #endif #if defined quicker && !defined fourth_order_window # define fourth_order_window #endif #if defined uvic_embm && !defined uvic_mom && !defined uvic_replacst # define uvic_replacst #endif #if defined uvic_npzd || defined uvic_carbon_14 || defined uvic_o2 # if !defined source_term # define source_term # endif #endif #if defined uvic_ice_cpts10 || defined uvic_ice_cpts5 || defined uvic_ice_cpts3 || defined uvic_ice_cpts1 # if !defined uvic_ice_cpts # define uvic_ice_cpts # endif #endif #if defined uvic_ice_cpts # if !defined uvic_ice_cpts10 && !defined uvic_ice_cpts5 && !defined uvic_ice_cpts3 && !defined uvic_ice_cpts1 # define uvic_ice_cpts1 # endif #endif #if defined uvic_cfc # if !defined uvic_cfc11 # define uvic_cfc11 # endif # if !defined uvic_cfc12 # define uvic_cfc12 # endif #endif #if defined uvic_embm_CO2_lin && !defined uvic_embm_co2_lin # define uvic_embm_co2_lin #endif #if defined uvic_embm_CO2_exp && !defined uvic_embm_co2_exp # define uvic_embm_co2_exp #endif #if defined uvic_embm_crops && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_cropdata && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_cropdata_transient # define uvic_embm_cropdata_transient #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_crops_transient # define uvic_embm_crops_transient #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_solardata_transient && !defined uvic_embm_solardata # define uvic_embm_solardata #endif #if defined uvic_embm_co2data_transient && !defined uvic_embm_co2data # define uvic_embm_co2data #endif #if defined uvic_embm_icedata_transient && !defined uvic_embm_icedata # define uvic_embm_icedata #endif #if defined llnl_plume_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_salt && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_brine && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_salt && !defined llnl_plume # define llnl_plume #endif #if defined biharmonic_rm || defined redi_diffusion || defined gent_mcwilliams || defined save_density_terms # if !defined isopycmix && !defined isoneutralmix # define isopycmix # endif # if !defined dm_taper # define gkw_taper # endif #else # if !defined dm_taper && defined isopycmix # define gkw_taper # endif #endif #if defined redi_diffusion # if !defined full_tensor && !defined small_tensor # define small_tensor # endif #endif #if defined gent_mcwilliams # if !defined gm_advect && !defined gm_skew # define gm_skew # endif #endif #if !defined sixth_order_window && !defined fourth_order_window && !defined second_order_window # if defined biharmonic_rm || defined isotropic_mixed || defined parallel_1d || defined bbl_ag # if !defined fourth_order_window # define fourth_order_window # endif # elif defined fourth_order_tracer_advection || defined fct || defined quicker # if !defined fourth_order_window # define fourth_order_window # endif # elif defined tracer_horz_biharmonic || defined velocity_horz_biharmonic # if !defined fourth_order_window # define fourth_order_window # endif # else # define second_order_window # endif #endif #if defined pressure_gradient_average && !defined fourth_order_window # define fourth_order_window #endif #if defined biharmonic && !defined fourth_order_window # define fourth_order_window #endif #if defined fourth_order_tracer_advection && !defined fourth_order_window # define fourth_order_window #endif #if defined fct && !defined fourth_order_window # define fourth_order_window #endif #if defined quicker && !defined fourth_order_window # define fourth_order_window #endif #if defined uvic_embm && !defined uvic_mom && !defined uvic_replacst # define uvic_replacst #endif #if defined uvic_npzd || defined uvic_carbon_14 || defined uvic_o2 # if !defined source_term # define source_term # endif #endif #if defined uvic_ice_cpts10 || defined uvic_ice_cpts5 || defined uvic_ice_cpts3 || defined uvic_ice_cpts1 # if !defined uvic_ice_cpts # define uvic_ice_cpts # endif #endif #if defined uvic_ice_cpts # if !defined uvic_ice_cpts10 && !defined uvic_ice_cpts5 && !defined uvic_ice_cpts3 && !defined uvic_ice_cpts1 # define uvic_ice_cpts1 # endif #endif #if defined uvic_cfc # if !defined uvic_cfc11 # define uvic_cfc11 # endif # if !defined uvic_cfc12 # define uvic_cfc12 # endif #endif #if defined uvic_embm_CO2_lin && !defined uvic_embm_co2_lin # define uvic_embm_co2_lin #endif #if defined uvic_embm_CO2_exp && !defined uvic_embm_co2_exp # define uvic_embm_co2_exp #endif #if defined uvic_embm_crops && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_cropdata && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_cropdata_transient # define uvic_embm_cropdata_transient #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_crops_transient # define uvic_embm_crops_transient #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_solardata_transient && !defined uvic_embm_solardata # define uvic_embm_solardata #endif #if defined uvic_embm_co2data_transient && !defined uvic_embm_co2data # define uvic_embm_co2data #endif #if defined uvic_embm_icedata_transient && !defined uvic_embm_icedata # define uvic_embm_icedata #endif #if defined llnl_plume_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_salt && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_brine && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_salt && !defined llnl_plume # define llnl_plume #endif #if defined biharmonic_rm || defined redi_diffusion || defined gent_mcwilliams || defined save_density_terms # if !defined isopycmix && !defined isoneutralmix # define isopycmix # endif # if !defined dm_taper # define gkw_taper # endif #else # if !defined dm_taper && defined isopycmix # define gkw_taper # endif #endif #if defined redi_diffusion # if !defined full_tensor && !defined small_tensor # define small_tensor # endif #endif #if defined gent_mcwilliams # if !defined gm_advect && !defined gm_skew # define gm_skew # endif #endif #if !defined sixth_order_window && !defined fourth_order_window && !defined second_order_window # if defined biharmonic_rm || defined isotropic_mixed || defined parallel_1d || defined bbl_ag # if !defined fourth_order_window # define fourth_order_window # endif # elif defined fourth_order_tracer_advection || defined fct || defined quicker # if !defined fourth_order_window # define fourth_order_window # endif # elif defined tracer_horz_biharmonic || defined velocity_horz_biharmonic # if !defined fourth_order_window # define fourth_order_window # endif # else # define second_order_window # endif #endif # include "derived_options.h" #if defined uvic_carbon # if defined uvic_carbon_14 # endif # if defined osu_c13 # endif #endif #if defined uvic_cfc11 #endif #if defined uvic_cfc12 #endif #if defined uvic_alk #endif #if defined uvic_o2 #endif #if defined uvic_npzd # if defined uvic_nitrogen # endif #endif #if defined uvic_carbon # if defined uvic_carbon_14 # endif # if defined osu_c13 # endif #endif #if defined uvic_alk #endif #if defined uvic_o2 #endif #if defined uvic_npzd # if defined uvic_nitrogen # endif #endif #if defined uvic_carbon && defined uvic_carbon_co2_2d #endif #if defined coarse_grained_parallelism && defined ramdrive #endif #if defined obctest # if defined obc_south || defined obc_north # else # endif #endif #if defined obctest2 # if defined obc_south # else # endif #endif #if defined obc_south || defined obc_north || defined obc_west || defined obc_east && !defined obc # define obc #endif #if !defined coarse_grained_parallelism # if !defined uvic_min_window # else # if defined fourth_order_window # if defined pressure_gradient_average # if defined biharmonic || defined fourth_order_tracer_advection || defined fct || defined quicker # else # endif # else # endif # else # endif # endif #else # if defined fourth_order_window # if defined pressure_gradient_average # if defined biharmonic || defined fourth_order_tracer_advection || defined fct || defined quicker # else # endif # else # endif # else # endif #endif #if defined coarse_grained_parallelism # if defined fourth_order_window # if defined pressure_gradient_average # endif # if defined biharmonic || defined fourth_order_tracer_advection || defined fct || defined quicker # endif # endif #else #endif #if !defined fct && !defined fourth_order_tracer_advection && !defined quicker && !defined second_order_tracer_advection # define second_order_tracer_advection #endif #if defined uvic_mtlm #endif # include "derived_options.h" #if defined uvic_carbon # if defined uvic_carbon_14 # endif # if defined osu_c13 # endif #endif #if defined uvic_cfc11 #endif #if defined uvic_cfc12 #endif #if defined uvic_alk #endif #if defined uvic_o2 #endif #if defined uvic_npzd # if defined uvic_nitrogen # endif #endif #if defined uvic_carbon # if defined uvic_carbon_14 # endif # if defined osu_c13 # endif #endif #if defined uvic_alk #endif #if defined uvic_o2 #endif #if defined uvic_npzd # if defined uvic_nitrogen # endif #endif #if defined uvic_carbon && defined uvic_carbon_co2_2d #endif #if defined coarse_grained_parallelism && defined ramdrive #endif #if defined obctest # if defined obc_south || defined obc_north # else # endif #endif #if defined obctest2 # if defined obc_south # else # endif #endif #if defined obc_south || defined obc_north || defined obc_west || defined obc_east && !defined obc # define obc #endif #if !defined coarse_grained_parallelism # if !defined uvic_min_window # else # if defined fourth_order_window # if defined pressure_gradient_average # if defined biharmonic || defined fourth_order_tracer_advection || defined fct || defined quicker # else # endif # else # endif # else # endif # endif #else # if defined fourth_order_window # if defined pressure_gradient_average # if defined biharmonic || defined fourth_order_tracer_advection || defined fct || defined quicker # else # endif # else # endif # else # endif #endif #if defined coarse_grained_parallelism # if defined fourth_order_window # if defined pressure_gradient_average # endif # if defined biharmonic || defined fourth_order_tracer_advection || defined fct || defined quicker # endif # endif #else #endif #if !defined fct && !defined fourth_order_tracer_advection && !defined quicker && !defined second_order_tracer_advection # define second_order_tracer_advection #endif #if defined uvic_mtlm #endif #if defined pressure_gradient_average && !defined fourth_order_window # define fourth_order_window #endif #if defined biharmonic && !defined fourth_order_window # define fourth_order_window #endif #if defined fourth_order_tracer_advection && !defined fourth_order_window # define fourth_order_window #endif #if defined fct && !defined fourth_order_window # define fourth_order_window #endif #if defined quicker && !defined fourth_order_window # define fourth_order_window #endif #if defined uvic_embm && !defined uvic_mom && !defined uvic_replacst # define uvic_replacst #endif #if defined uvic_npzd || defined uvic_carbon_14 || defined uvic_o2 # if !defined source_term # define source_term # endif #endif #if defined uvic_ice_cpts10 || defined uvic_ice_cpts5 || defined uvic_ice_cpts3 || defined uvic_ice_cpts1 # if !defined uvic_ice_cpts # define uvic_ice_cpts # endif #endif #if defined uvic_ice_cpts # if !defined uvic_ice_cpts10 && !defined uvic_ice_cpts5 && !defined uvic_ice_cpts3 && !defined uvic_ice_cpts1 # define uvic_ice_cpts1 # endif #endif #if defined uvic_cfc # if !defined uvic_cfc11 # define uvic_cfc11 # endif # if !defined uvic_cfc12 # define uvic_cfc12 # endif #endif #if defined uvic_embm_CO2_lin && !defined uvic_embm_co2_lin # define uvic_embm_co2_lin #endif #if defined uvic_embm_CO2_exp && !defined uvic_embm_co2_exp # define uvic_embm_co2_exp #endif #if defined uvic_embm_crops && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_cropdata && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_cropdata_transient # define uvic_embm_cropdata_transient #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_crops_transient # define uvic_embm_crops_transient #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_solardata_transient && !defined uvic_embm_solardata # define uvic_embm_solardata #endif #if defined uvic_embm_co2data_transient && !defined uvic_embm_co2data # define uvic_embm_co2data #endif #if defined uvic_embm_icedata_transient && !defined uvic_embm_icedata # define uvic_embm_icedata #endif #if defined llnl_plume_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_salt && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_brine && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_salt && !defined llnl_plume # define llnl_plume #endif #if defined biharmonic_rm || defined redi_diffusion || defined gent_mcwilliams || defined save_density_terms # if !defined isopycmix && !defined isoneutralmix # define isopycmix # endif # if !defined dm_taper # define gkw_taper # endif #else # if !defined dm_taper && defined isopycmix # define gkw_taper # endif #endif #if defined redi_diffusion # if !defined full_tensor && !defined small_tensor # define small_tensor # endif #endif #if defined gent_mcwilliams # if !defined gm_advect && !defined gm_skew # define gm_skew # endif #endif #if !defined sixth_order_window && !defined fourth_order_window && !defined second_order_window # if defined biharmonic_rm || defined isotropic_mixed || defined parallel_1d || defined bbl_ag # if !defined fourth_order_window # define fourth_order_window # endif # elif defined fourth_order_tracer_advection || defined fct || defined quicker # if !defined fourth_order_window # define fourth_order_window # endif # elif defined tracer_horz_biharmonic || defined velocity_horz_biharmonic # if !defined fourth_order_window # define fourth_order_window # endif # else # define second_order_window # endif #endif #if defined pressure_gradient_average && !defined fourth_order_window # define fourth_order_window #endif #if defined biharmonic && !defined fourth_order_window # define fourth_order_window #endif #if defined fourth_order_tracer_advection && !defined fourth_order_window # define fourth_order_window #endif #if defined fct && !defined fourth_order_window # define fourth_order_window #endif #if defined quicker && !defined fourth_order_window # define fourth_order_window #endif #if defined uvic_embm && !defined uvic_mom && !defined uvic_replacst # define uvic_replacst #endif #if defined uvic_npzd || defined uvic_carbon_14 || defined uvic_o2 # if !defined source_term # define source_term # endif #endif #if defined uvic_ice_cpts10 || defined uvic_ice_cpts5 || defined uvic_ice_cpts3 || defined uvic_ice_cpts1 # if !defined uvic_ice_cpts # define uvic_ice_cpts # endif #endif #if defined uvic_ice_cpts # if !defined uvic_ice_cpts10 && !defined uvic_ice_cpts5 && !defined uvic_ice_cpts3 && !defined uvic_ice_cpts1 # define uvic_ice_cpts1 # endif #endif #if defined uvic_cfc # if !defined uvic_cfc11 # define uvic_cfc11 # endif # if !defined uvic_cfc12 # define uvic_cfc12 # endif #endif #if defined uvic_embm_CO2_lin && !defined uvic_embm_co2_lin # define uvic_embm_co2_lin #endif #if defined uvic_embm_CO2_exp && !defined uvic_embm_co2_exp # define uvic_embm_co2_exp #endif #if defined uvic_embm_crops && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_cropdata && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_cropdata_transient # define uvic_embm_cropdata_transient #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_crops_transient # define uvic_embm_crops_transient #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_solardata_transient && !defined uvic_embm_solardata # define uvic_embm_solardata #endif #if defined uvic_embm_co2data_transient && !defined uvic_embm_co2data # define uvic_embm_co2data #endif #if defined uvic_embm_icedata_transient && !defined uvic_embm_icedata # define uvic_embm_icedata #endif #if defined llnl_plume_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_salt && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_brine && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_salt && !defined llnl_plume # define llnl_plume #endif #if defined biharmonic_rm || defined redi_diffusion || defined gent_mcwilliams || defined save_density_terms # if !defined isopycmix && !defined isoneutralmix # define isopycmix # endif # if !defined dm_taper # define gkw_taper # endif #else # if !defined dm_taper && defined isopycmix # define gkw_taper # endif #endif #if defined redi_diffusion # if !defined full_tensor && !defined small_tensor # define small_tensor # endif #endif #if defined gent_mcwilliams # if !defined gm_advect && !defined gm_skew # define gm_skew # endif #endif #if !defined sixth_order_window && !defined fourth_order_window && !defined second_order_window # if defined biharmonic_rm || defined isotropic_mixed || defined parallel_1d || defined bbl_ag # if !defined fourth_order_window # define fourth_order_window # endif # elif defined fourth_order_tracer_advection || defined fct || defined quicker # if !defined fourth_order_window # define fourth_order_window # endif # elif defined tracer_horz_biharmonic || defined velocity_horz_biharmonic # if !defined fourth_order_window # define fourth_order_window # endif # else # define second_order_window # endif #endif #if defined pressure_gradient_average && !defined fourth_order_window # define fourth_order_window #endif #if defined biharmonic && !defined fourth_order_window # define fourth_order_window #endif #if defined fourth_order_tracer_advection && !defined fourth_order_window # define fourth_order_window #endif #if defined fct && !defined fourth_order_window # define fourth_order_window #endif #if defined quicker && !defined fourth_order_window # define fourth_order_window #endif #if defined uvic_embm && !defined uvic_mom && !defined uvic_replacst # define uvic_replacst #endif #if defined uvic_npzd || defined uvic_carbon_14 || defined uvic_o2 # if !defined source_term # define source_term # endif #endif #if defined uvic_ice_cpts10 || defined uvic_ice_cpts5 || defined uvic_ice_cpts3 || defined uvic_ice_cpts1 # if !defined uvic_ice_cpts # define uvic_ice_cpts # endif #endif #if defined uvic_ice_cpts # if !defined uvic_ice_cpts10 && !defined uvic_ice_cpts5 && !defined uvic_ice_cpts3 && !defined uvic_ice_cpts1 # define uvic_ice_cpts1 # endif #endif #if defined uvic_cfc # if !defined uvic_cfc11 # define uvic_cfc11 # endif # if !defined uvic_cfc12 # define uvic_cfc12 # endif #endif #if defined uvic_embm_CO2_lin && !defined uvic_embm_co2_lin # define uvic_embm_co2_lin #endif #if defined uvic_embm_CO2_exp && !defined uvic_embm_co2_exp # define uvic_embm_co2_exp #endif #if defined uvic_embm_crops && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_cropdata && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_cropdata_transient # define uvic_embm_cropdata_transient #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_crops_transient # define uvic_embm_crops_transient #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_solardata_transient && !defined uvic_embm_solardata # define uvic_embm_solardata #endif #if defined uvic_embm_co2data_transient && !defined uvic_embm_co2data # define uvic_embm_co2data #endif #if defined uvic_embm_icedata_transient && !defined uvic_embm_icedata # define uvic_embm_icedata #endif #if defined llnl_plume_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_salt && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_brine && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_salt && !defined llnl_plume # define llnl_plume #endif #if defined biharmonic_rm || defined redi_diffusion || defined gent_mcwilliams || defined save_density_terms # if !defined isopycmix && !defined isoneutralmix # define isopycmix # endif # if !defined dm_taper # define gkw_taper # endif #else # if !defined dm_taper && defined isopycmix # define gkw_taper # endif #endif #if defined redi_diffusion # if !defined full_tensor && !defined small_tensor # define small_tensor # endif #endif #if defined gent_mcwilliams # if !defined gm_advect && !defined gm_skew # define gm_skew # endif #endif #if !defined sixth_order_window && !defined fourth_order_window && !defined second_order_window # if defined biharmonic_rm || defined isotropic_mixed || defined parallel_1d || defined bbl_ag # if !defined fourth_order_window # define fourth_order_window # endif # elif defined fourth_order_tracer_advection || defined fct || defined quicker # if !defined fourth_order_window # define fourth_order_window # endif # elif defined tracer_horz_biharmonic || defined velocity_horz_biharmonic # if !defined fourth_order_window # define fourth_order_window # endif # else # define second_order_window # endif #endif #if defined pressure_gradient_average && !defined fourth_order_window # define fourth_order_window #endif #if defined biharmonic && !defined fourth_order_window # define fourth_order_window #endif #if defined fourth_order_tracer_advection && !defined fourth_order_window # define fourth_order_window #endif #if defined fct && !defined fourth_order_window # define fourth_order_window #endif #if defined quicker && !defined fourth_order_window # define fourth_order_window #endif #if defined uvic_embm && !defined uvic_mom && !defined uvic_replacst # define uvic_replacst #endif #if defined uvic_npzd || defined uvic_carbon_14 || defined uvic_o2 # if !defined source_term # define source_term # endif #endif #if defined uvic_ice_cpts10 || defined uvic_ice_cpts5 || defined uvic_ice_cpts3 || defined uvic_ice_cpts1 # if !defined uvic_ice_cpts # define uvic_ice_cpts # endif #endif #if defined uvic_ice_cpts # if !defined uvic_ice_cpts10 && !defined uvic_ice_cpts5 && !defined uvic_ice_cpts3 && !defined uvic_ice_cpts1 # define uvic_ice_cpts1 # endif #endif #if defined uvic_cfc # if !defined uvic_cfc11 # define uvic_cfc11 # endif # if !defined uvic_cfc12 # define uvic_cfc12 # endif #endif #if defined uvic_embm_CO2_lin && !defined uvic_embm_co2_lin # define uvic_embm_co2_lin #endif #if defined uvic_embm_CO2_exp && !defined uvic_embm_co2_exp # define uvic_embm_co2_exp #endif #if defined uvic_embm_crops && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_cropdata && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_cropdata_transient # define uvic_embm_cropdata_transient #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_crops_transient # define uvic_embm_crops_transient #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_solardata_transient && !defined uvic_embm_solardata # define uvic_embm_solardata #endif #if defined uvic_embm_co2data_transient && !defined uvic_embm_co2data # define uvic_embm_co2data #endif #if defined uvic_embm_icedata_transient && !defined uvic_embm_icedata # define uvic_embm_icedata #endif #if defined llnl_plume_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_salt && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_brine && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_salt && !defined llnl_plume # define llnl_plume #endif #if defined biharmonic_rm || defined redi_diffusion || defined gent_mcwilliams || defined save_density_terms # if !defined isopycmix && !defined isoneutralmix # define isopycmix # endif # if !defined dm_taper # define gkw_taper # endif #else # if !defined dm_taper && defined isopycmix # define gkw_taper # endif #endif #if defined redi_diffusion # if !defined full_tensor && !defined small_tensor # define small_tensor # endif #endif #if defined gent_mcwilliams # if !defined gm_advect && !defined gm_skew # define gm_skew # endif #endif #if !defined sixth_order_window && !defined fourth_order_window && !defined second_order_window # if defined biharmonic_rm || defined isotropic_mixed || defined parallel_1d || defined bbl_ag # if !defined fourth_order_window # define fourth_order_window # endif # elif defined fourth_order_tracer_advection || defined fct || defined quicker # if !defined fourth_order_window # define fourth_order_window # endif # elif defined tracer_horz_biharmonic || defined velocity_horz_biharmonic # if !defined fourth_order_window # define fourth_order_window # endif # else # define second_order_window # endif #endif #include "derived_options.h" #if defined uvic_embm_awind #endif #if defined uvic_embm_adv_q #endif #if defined uvic_embm_adv_t #endif #if defined shortwave #endif #if defined uvic_ice_evp #endif #if defined uvic_carbon # if defined uvic_carbon_14 # endif # if defined osu_c13 # endif #endif #if defined uvic_alk #endif #if defined uvic_o2 #endif #if defined uvic_cfc11 #endif #if defined uvic_cfc12 #endif #if defined uvic_npzd # if defined uvic_npzd_vflux # else # endif #endif #if defined uvic_nitrogen # if defined uvic_npzd_vflux # else # endif #endif #if defined uvic_mtlm #endif #if defined uvic_mtlm && defined uvic_carbon #endif #if defined llnl_plume #endif #if defined uvic_mtlm #endif #if defined pressure_gradient_average && !defined fourth_order_window # define fourth_order_window #endif #if defined biharmonic && !defined fourth_order_window # define fourth_order_window #endif #if defined fourth_order_tracer_advection && !defined fourth_order_window # define fourth_order_window #endif #if defined fct && !defined fourth_order_window # define fourth_order_window #endif #if defined quicker && !defined fourth_order_window # define fourth_order_window #endif #if defined uvic_embm && !defined uvic_mom && !defined uvic_replacst # define uvic_replacst #endif #if defined uvic_npzd || defined uvic_carbon_14 || defined uvic_o2 # if !defined source_term # define source_term # endif #endif #if defined uvic_ice_cpts10 || defined uvic_ice_cpts5 || defined uvic_ice_cpts3 || defined uvic_ice_cpts1 # if !defined uvic_ice_cpts # define uvic_ice_cpts # endif #endif #if defined uvic_ice_cpts # if !defined uvic_ice_cpts10 && !defined uvic_ice_cpts5 && !defined uvic_ice_cpts3 && !defined uvic_ice_cpts1 # define uvic_ice_cpts1 # endif #endif #if defined uvic_cfc # if !defined uvic_cfc11 # define uvic_cfc11 # endif # if !defined uvic_cfc12 # define uvic_cfc12 # endif #endif #if defined uvic_embm_CO2_lin && !defined uvic_embm_co2_lin # define uvic_embm_co2_lin #endif #if defined uvic_embm_CO2_exp && !defined uvic_embm_co2_exp # define uvic_embm_co2_exp #endif #if defined uvic_embm_crops && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_cropdata && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_cropdata_transient # define uvic_embm_cropdata_transient #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_crops_transient # define uvic_embm_crops_transient #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_solardata_transient && !defined uvic_embm_solardata # define uvic_embm_solardata #endif #if defined uvic_embm_co2data_transient && !defined uvic_embm_co2data # define uvic_embm_co2data #endif #if defined uvic_embm_icedata_transient && !defined uvic_embm_icedata # define uvic_embm_icedata #endif #if defined llnl_plume_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_salt && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_brine && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_salt && !defined llnl_plume # define llnl_plume #endif #if defined biharmonic_rm || defined redi_diffusion || defined gent_mcwilliams || defined save_density_terms # if !defined isopycmix && !defined isoneutralmix # define isopycmix # endif # if !defined dm_taper # define gkw_taper # endif #else # if !defined dm_taper && defined isopycmix # define gkw_taper # endif #endif #if defined redi_diffusion # if !defined full_tensor && !defined small_tensor # define small_tensor # endif #endif #if defined gent_mcwilliams # if !defined gm_advect && !defined gm_skew # define gm_skew # endif #endif #if !defined sixth_order_window && !defined fourth_order_window && !defined second_order_window # if defined biharmonic_rm || defined isotropic_mixed || defined parallel_1d || defined bbl_ag # if !defined fourth_order_window # define fourth_order_window # endif # elif defined fourth_order_tracer_advection || defined fct || defined quicker # if !defined fourth_order_window # define fourth_order_window # endif # elif defined tracer_horz_biharmonic || defined velocity_horz_biharmonic # if !defined fourth_order_window # define fourth_order_window # endif # else # define second_order_window # endif #endif #if defined pressure_gradient_average && !defined fourth_order_window # define fourth_order_window #endif #if defined biharmonic && !defined fourth_order_window # define fourth_order_window #endif #if defined fourth_order_tracer_advection && !defined fourth_order_window # define fourth_order_window #endif #if defined fct && !defined fourth_order_window # define fourth_order_window #endif #if defined quicker && !defined fourth_order_window # define fourth_order_window #endif #if defined uvic_embm && !defined uvic_mom && !defined uvic_replacst # define uvic_replacst #endif #if defined uvic_npzd || defined uvic_carbon_14 || defined uvic_o2 # if !defined source_term # define source_term # endif #endif #if defined uvic_ice_cpts10 || defined uvic_ice_cpts5 || defined uvic_ice_cpts3 || defined uvic_ice_cpts1 # if !defined uvic_ice_cpts # define uvic_ice_cpts # endif #endif #if defined uvic_ice_cpts # if !defined uvic_ice_cpts10 && !defined uvic_ice_cpts5 && !defined uvic_ice_cpts3 && !defined uvic_ice_cpts1 # define uvic_ice_cpts1 # endif #endif #if defined uvic_cfc # if !defined uvic_cfc11 # define uvic_cfc11 # endif # if !defined uvic_cfc12 # define uvic_cfc12 # endif #endif #if defined uvic_embm_CO2_lin && !defined uvic_embm_co2_lin # define uvic_embm_co2_lin #endif #if defined uvic_embm_CO2_exp && !defined uvic_embm_co2_exp # define uvic_embm_co2_exp #endif #if defined uvic_embm_crops && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_cropdata && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_cropdata_transient # define uvic_embm_cropdata_transient #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_crops_transient # define uvic_embm_crops_transient #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_solardata_transient && !defined uvic_embm_solardata # define uvic_embm_solardata #endif #if defined uvic_embm_co2data_transient && !defined uvic_embm_co2data # define uvic_embm_co2data #endif #if defined uvic_embm_icedata_transient && !defined uvic_embm_icedata # define uvic_embm_icedata #endif #if defined llnl_plume_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_salt && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_brine && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_salt && !defined llnl_plume # define llnl_plume #endif #if defined biharmonic_rm || defined redi_diffusion || defined gent_mcwilliams || defined save_density_terms # if !defined isopycmix && !defined isoneutralmix # define isopycmix # endif # if !defined dm_taper # define gkw_taper # endif #else # if !defined dm_taper && defined isopycmix # define gkw_taper # endif #endif #if defined redi_diffusion # if !defined full_tensor && !defined small_tensor # define small_tensor # endif #endif #if defined gent_mcwilliams # if !defined gm_advect && !defined gm_skew # define gm_skew # endif #endif #if !defined sixth_order_window && !defined fourth_order_window && !defined second_order_window # if defined biharmonic_rm || defined isotropic_mixed || defined parallel_1d || defined bbl_ag # if !defined fourth_order_window # define fourth_order_window # endif # elif defined fourth_order_tracer_advection || defined fct || defined quicker # if !defined fourth_order_window # define fourth_order_window # endif # elif defined tracer_horz_biharmonic || defined velocity_horz_biharmonic # if !defined fourth_order_window # define fourth_order_window # endif # else # define second_order_window # endif #endif # include "derived_options.h" #if defined coarse_grained_parallelism #endif #if defined trajectories #else #endif #if defined pressure_gradient_average #endif #if defined fourth_order_tracer_advection || defined quicker #endif #if defined biharmonic #endif #if defined fct || defined isoneutralmix #endif #if !defined consthmix || defined biharmonic || defined isopycmix || defined isoneutralmix #endif #if defined isopycmix || defined isoneutralmix #endif #if defined source_term #endif #if defined implicitvmix || defined isopycmix || defined isoneutralmix #endif #if defined equivalence_mw #else #endif #if defined linearized_advection || defined equatorial_thermocline #endif #if defined fct # if defined fct_dlm2 # endif # if defined fct_3d # endif # if defined fct_3d # endif # if defined fct_dlm2 # endif #endif #if defined pressure_gradient_average && !defined fourth_order_window # define fourth_order_window #endif #if defined biharmonic && !defined fourth_order_window # define fourth_order_window #endif #if defined fourth_order_tracer_advection && !defined fourth_order_window # define fourth_order_window #endif #if defined fct && !defined fourth_order_window # define fourth_order_window #endif #if defined quicker && !defined fourth_order_window # define fourth_order_window #endif #if defined uvic_embm && !defined uvic_mom && !defined uvic_replacst # define uvic_replacst #endif #if defined uvic_npzd || defined uvic_carbon_14 || defined uvic_o2 # if !defined source_term # define source_term # endif #endif #if defined uvic_ice_cpts10 || defined uvic_ice_cpts5 || defined uvic_ice_cpts3 || defined uvic_ice_cpts1 # if !defined uvic_ice_cpts # define uvic_ice_cpts # endif #endif #if defined uvic_ice_cpts # if !defined uvic_ice_cpts10 && !defined uvic_ice_cpts5 && !defined uvic_ice_cpts3 && !defined uvic_ice_cpts1 # define uvic_ice_cpts1 # endif #endif #if defined uvic_cfc # if !defined uvic_cfc11 # define uvic_cfc11 # endif # if !defined uvic_cfc12 # define uvic_cfc12 # endif #endif #if defined uvic_embm_CO2_lin && !defined uvic_embm_co2_lin # define uvic_embm_co2_lin #endif #if defined uvic_embm_CO2_exp && !defined uvic_embm_co2_exp # define uvic_embm_co2_exp #endif #if defined uvic_embm_crops && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_cropdata && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_cropdata_transient # define uvic_embm_cropdata_transient #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_crops_transient # define uvic_embm_crops_transient #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_solardata_transient && !defined uvic_embm_solardata # define uvic_embm_solardata #endif #if defined uvic_embm_co2data_transient && !defined uvic_embm_co2data # define uvic_embm_co2data #endif #if defined uvic_embm_icedata_transient && !defined uvic_embm_icedata # define uvic_embm_icedata #endif #if defined llnl_plume_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_salt && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_brine && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_salt && !defined llnl_plume # define llnl_plume #endif #if defined biharmonic_rm || defined redi_diffusion || defined gent_mcwilliams || defined save_density_terms # if !defined isopycmix && !defined isoneutralmix # define isopycmix # endif # if !defined dm_taper # define gkw_taper # endif #else # if !defined dm_taper && defined isopycmix # define gkw_taper # endif #endif #if defined redi_diffusion # if !defined full_tensor && !defined small_tensor # define small_tensor # endif #endif #if defined gent_mcwilliams # if !defined gm_advect && !defined gm_skew # define gm_skew # endif #endif #if !defined sixth_order_window && !defined fourth_order_window && !defined second_order_window # if defined biharmonic_rm || defined isotropic_mixed || defined parallel_1d || defined bbl_ag # if !defined fourth_order_window # define fourth_order_window # endif # elif defined fourth_order_tracer_advection || defined fct || defined quicker # if !defined fourth_order_window # define fourth_order_window # endif # elif defined tracer_horz_biharmonic || defined velocity_horz_biharmonic # if !defined fourth_order_window # define fourth_order_window # endif # else # define second_order_window # endif #endif #if defined pressure_gradient_average && !defined fourth_order_window # define fourth_order_window #endif #if defined biharmonic && !defined fourth_order_window # define fourth_order_window #endif #if defined fourth_order_tracer_advection && !defined fourth_order_window # define fourth_order_window #endif #if defined fct && !defined fourth_order_window # define fourth_order_window #endif #if defined quicker && !defined fourth_order_window # define fourth_order_window #endif #if defined uvic_embm && !defined uvic_mom && !defined uvic_replacst # define uvic_replacst #endif #if defined uvic_npzd || defined uvic_carbon_14 || defined uvic_o2 # if !defined source_term # define source_term # endif #endif #if defined uvic_ice_cpts10 || defined uvic_ice_cpts5 || defined uvic_ice_cpts3 || defined uvic_ice_cpts1 # if !defined uvic_ice_cpts # define uvic_ice_cpts # endif #endif #if defined uvic_ice_cpts # if !defined uvic_ice_cpts10 && !defined uvic_ice_cpts5 && !defined uvic_ice_cpts3 && !defined uvic_ice_cpts1 # define uvic_ice_cpts1 # endif #endif #if defined uvic_cfc # if !defined uvic_cfc11 # define uvic_cfc11 # endif # if !defined uvic_cfc12 # define uvic_cfc12 # endif #endif #if defined uvic_embm_CO2_lin && !defined uvic_embm_co2_lin # define uvic_embm_co2_lin #endif #if defined uvic_embm_CO2_exp && !defined uvic_embm_co2_exp # define uvic_embm_co2_exp #endif #if defined uvic_embm_crops && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_cropdata && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_cropdata_transient # define uvic_embm_cropdata_transient #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_crops_transient # define uvic_embm_crops_transient #endif #if defined uvic_embm_crops_transient && !defined uvic_embm_crops # define uvic_embm_crops #endif #if defined uvic_embm_cropdata_transient && !defined uvic_embm_cropdata # define uvic_embm_cropdata #endif #if defined uvic_embm_solardata_transient && !defined uvic_embm_solardata # define uvic_embm_solardata #endif #if defined uvic_embm_co2data_transient && !defined uvic_embm_co2data # define uvic_embm_co2data #endif #if defined uvic_embm_icedata_transient && !defined uvic_embm_icedata # define uvic_embm_icedata #endif #if defined llnl_plume_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_salt && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_brine && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_heat && !defined llnl_plume # define llnl_plume #endif #if defined llnl_plume_all_salt && !defined llnl_plume # define llnl_plume #endif #if defined biharmonic_rm || defined redi_diffusion || defined gent_mcwilliams || defined save_density_terms # if !defined isopycmix && !defined isoneutralmix # define isopycmix # endif # if !defined dm_taper # define gkw_taper # endif #else # if !defined dm_taper && defined isopycmix # define gkw_taper # endif #endif #if defined redi_diffusion # if !defined full_tensor && !defined small_tensor # define small_tensor # endif #endif #if defined gent_mcwilliams # if !defined gm_advect && !defined gm_skew # define gm_skew # endif #endif #if !defined sixth_order_window && !defined fourth_order_window && !defined second_order_window # if defined biharmonic_rm || defined isotropic_mixed || defined parallel_1d || defined bbl_ag # if !defined fourth_order_window # define fourth_order_window # endif # elif defined fourth_order_tracer_advection || defined fct || defined quicker # if !defined fourth_order_window # define fourth_order_window # endif # elif defined tracer_horz_biharmonic || defined velocity_horz_biharmonic # if !defined fourth_order_window # define fourth_order_window # endif # else # define second_order_window # endif #endif