Port Validation ++++++++++++++++ These are tests meant to check the validity of the Keeling port, and should be done after implementing out-of-the-box capability. Functionality tests =================== Try running these following tests: * ERS_D.T31_g37_rx1.A * ERI.ne30_g16.X * ERI.T31_g37_rx1.A * ERS.T62_g16.C You can create the tests as per the following (put the name of any test in place of ERS_D.T31_g37_rx1.A): ``./create_test -mach keeling -testname ERS_D.T31_g37_rx1.A -testid t01 -compiler intel`` This creates a directory called ERS_D.T31_g37_rx1.A. ``cd ERS_D.T31_g37_rx1.A.keeling.intel.t01`` ``./ERS_D.T31_g37_rx1.A.keeling_intel.t01.test_build`` ``./ERS_D.T31_g37_rx1.A.keeling_intel.t01.submit`` When the job is done running, check TestStatus to see if the test ran correctly. The first word should be PASS. Reproducibility =============== Try running a compset for a year twice. We suggest doing the control for your own experiment twice, like how we do below: This is the CAM 5 Aquaplanet with a resolution of 1.9x1.9. ``./create_newcase -case cam5aquaFixSST -compset FC5AQUAP -res f19_f19 -mach keeling`` To set it to run for a year, set the following in ``env_run.xml``: ```` Run the first test normally for a year. For the second test, try setting it so it restarts every so often to check for reproducibility between restarts. This can be done so in ``env_run.xml``: .. code-block:: xml To check if the two tests are bit-for-bit the same, use the following Python code. .. code-block:: python import xarray as xr data = xr.open_dataset("cam5aquaFixSST.cam.h0.0001-12.nc") #End of year for first run data2 = xr.open_dataset("cam5aquaFixSST_restart.cam.h0.0001-12.nc") #End of year for second run for variable in data.data_vars: print(variable, data[variable].equals(data2[variable])) Check everything is the same between the two except for the date and time written!