NOAA-GFDL / fre-cli

Python-based command line interface for FRE (FMS Runtime Environment) to compile and run FMS-based models and post-process their output.
GNU Lesser General Public License v3.0
3 stars 7 forks source link

`fre cmor run` pytest case #164

Open ilaflott opened 3 weeks ago

ilaflott commented 3 weeks ago

The following script shows a working example of a fre cmor run call. Note that this script only illustrates usage- probably wont work out of the box for everyone:

#!/bin/bash

module load fre/canopy

## clone if needed
#git clone https://github.com/PCMDI/cmip6-cmor-tables
#git clone https://github.com/PCMDI/cmor

# ex input file, the dir is the input argument
input=$PWD/TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc

# the call
echo "fre cmor run --indir=$(dirname $input) --table_config=cmip6-cmor-tables/Tables/CMIP6_Omon.json --exp_config=cmor/Test/CMOR_input_example.json --outdir=$PWD --varlist=/nbhome/Ciheim.Brown/varlist"
fre cmor run --indir=$(dirname $input) --table_config=cmip6-cmor-tables/Tables/CMIP6_Omon.json --exp_config=cmor/Test/CMOR_input_example.json --outdir=$PWD --varlist=/nbhome/Ciheim.Brown/varlist

# show metadata differences
nccmp -d -f -m -g $input  CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc

The stdout produced by fre cmor run itself should look something like:

Available dates: ['199301-199712']

GFDL Variable : PCMDI Variable (var2process:var_lst[var2process]) =>
sos : sos
    Processing Directory/File: sos
    nc_fl_wrk =  /home/Ian.Laflotte/Working/CMIP7_cmor_things/tmp/ocean_monthly_1x1deg.199301-199712.sos.nc
    copy_nc:  source_nc= /home/Ian.Laflotte/Working/CMIP7_cmor_things/TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc  out_nc= /home/Ian.Laflotte/Working/CMIP7_cmor_things/tmp/ocean_monthly_1x1deg.199301-199712.sos.nc
nc_ps_file =  /home/Ian.Laflotte/Working/CMIP7_cmor_things/TEST_FILE/ocean_monthly_1x1deg.199301-199712.ps.nc

===> Starting netcdf_var():
input data:
    var_lst= {'sos': 'sos'}
    nc_fl= /home/Ian.Laflotte/Working/CMIP7_cmor_things/tmp/ocean_monthly_1x1deg.199301-199712.sos.nc
    var_i= sos ==> sos
Vertical dimension: 0

C Traceback:
In function: cmor_outpath_exist
! called from: cmor_dataset_json
!

!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Warning: You defined your output directory to be: 'CMIP6', but this
! directory does not exist. CMOR will create it!
!
!!!!!!!!!!!!!!!!!!!!!!!!!

CMIP_input_json= cmor/Test/CMOR_input_example.json
CMOR_tbl_vars_file= cmip6-cmor-tables/Tables/CMIP6_Omon.json
list of variables: ['lat', 'lat_bnds', 'lon', 'lon_bnds', 'sos', 'time', 'time_bnds']
var_dim= 3  var_lst[var_i]= sos
dimension= 3  units= 0.001
from Ln236: tm_units= days since 1958-01-01 00:00:00
tm_bnds= []
Executing cmor.axis('time', coord_vals=time, cell_bounds=time_bnds, units=tm_units)
[cmorTime, cmorLat, cmorLon]
 var_lst[var_i]= sos  positive=

C Traceback:
In function: _CV_CompareNoParent
! called from: _CV_checkParentExpID
! called from: cmor_write
!

!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Warning: Your input attribute parent_mip_era with value "CMIP6"
! will be replaced with value "no parent".
!
!
!!!!!!!!!!!!!!!!!!!!!!!!!

C Traceback:
In function: _CV_CompareNoParent
! called from: _CV_checkParentExpID
! called from: cmor_write
!

!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Warning: Your input attribute parent_source_id with value "PCMDI-test-1-0"
! will be replaced with value "no parent".
!
!
!!!!!!!!!!!!!!!!!!!!!!!!!

C Traceback:
In function: _CV_CompareNoParent
! called from: _CV_checkParentExpID
! called from: cmor_write
!

!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Warning: Your input attribute parent_time_units with value "days since 1850-01-01"
! will be replaced with value "no parent".
!
!
!!!!!!!!!!!!!!!!!!!!!!!!!

C Traceback:
In function: _CV_CompareNoParent
! called from: _CV_checkParentExpID
! called from: cmor_write
!

!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Warning: Your input attribute parent_variant_label with value "r3i1p1f1"
! will be replaced with value "no parent".
!
!
!!!!!!!!!!!!!!!!!!!!!!!!!

C Traceback:
In function: _CV_CompareNoParent
! called from: _CV_checkParentExpID
! called from: cmor_write
!

!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Warning: Your input attribute branch_method with value "standard"
! will be replaced with value "no parent".
!
!
!!!!!!!!!!!!!!!!!!!!!!!!!

C Traceback:
In function: _CV_checkParentExpID
! called from: cmor_write
!

!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Warning: Your input attribute branch_time_in_parent 59400.0
! has been replaced with 0.0
!
!
!!!!!!!!!!!!!!!!!!!!!!!!!

C Traceback:
In function: cmor_close_variable
!

!!!!!!!!!!!!!!!!!!!!!!!!!
!
! Warning: while closing variable 0 (sos, table Omon)
! we noticed you wrote 0 time steps for the variable,
! but its time axis 0 (time) has 60 time steps
!
!!!!!!!!!!!!!!!!!!!!!!!!!

filename= CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc
! ------
! CMOR is now closed.
! ------
! During execution we encountered:
!   8 Warning(s)
!   0 Error(s)
! ------
! Please review them.
! ------
!
source file = /home/Ian.Laflotte/Working/CMIP7_cmor_things/TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
filename = /home/Ian.Laflotte/Working/CMIP7_cmor_things/CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc
filedir= /home/Ian.Laflotte/Working/CMIP7_cmor_things/CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821
directory  /home/Ian.Laflotte/Working/CMIP7_cmor_things/CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821 already exists
mv_cmnd =  mv /home/Ian.Laflotte/Working/CMIP7_cmor_things/CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc /home/Ian.Laflotte/Working/CMIP7_cmor_things/CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821
mv: ‘/home/Ian.Laflotte/Working/CMIP7_cmor_things/CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc’ and ‘/home/Ian.Laflotte/Working/CMIP7_cmor_things/CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc’ are the same file
=============================================================================

the metadata differences introduced:

an101: CMIP7_cmor_things $] nccmp -d -f -m -g TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc
DIFFER : FILE FORMATS : NC_FORMAT_64BIT <> NC_FORMAT_NETCDF4_CLASSIC
DIFFER : NUMBER OF GLOBAL ATTRIBUTES : 9 <> 46
DIFFER : LENGTHS OF GLOBAL ATTRIBUTE : title : 24 <> 256 : VALUES : om5_b05_noHiLatHenyey_55 <> PCMDI-test-1-0 output prepared for CMIP6
DIFFER : NAME OF GLOBAL ATTRIBUTE : associated_files : GLOBAL ATTRIBUTE DOESN'T EXIST IN "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : grid_type : GLOBAL ATTRIBUTE DOESN'T EXIST IN "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : grid_tile : GLOBAL ATTRIBUTE DOESN'T EXIST IN "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : code_release_version : GLOBAL ATTRIBUTE DOESN'T EXIST IN "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : git_hash : GLOBAL ATTRIBUTE DOESN'T EXIST IN "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : creationtime : GLOBAL ATTRIBUTE DOESN'T EXIST IN "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : hostname : GLOBAL ATTRIBUTE DOESN'T EXIST IN "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : LENGTHS OF GLOBAL ATTRIBUTE : external_variables : 9 <> 256 : VALUES : areacello <> areacello
DIFFER : NAME OF GLOBAL ATTRIBUTE : Conventions : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : activity_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : branch_method : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : branch_time_in_child : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : branch_time_in_parent : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : contact : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : creation_date : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : data_specs_version : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : experiment : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : experiment_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : forcing_index : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : frequency : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : further_info_url : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : grid : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : grid_label : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : initialization_index : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : institution : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : institution_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : mip_era : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : nominal_resolution : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : parent_activity_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : parent_experiment_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : parent_mip_era : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : parent_source_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : parent_time_units : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : parent_variant_label : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : physics_index : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : product : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : realization_index : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : realm : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : references : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : run_variant : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : source : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : source_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : source_type : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : sub_experiment : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : sub_experiment_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : table_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : table_info : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : tracking_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : variable_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : variant_label : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : license : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : cmor_version : GLOBAL ATTRIBUTE DOESN'T EXIST IN TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : LENGTHS : ATTRIBUTE : long_name : VARIABLE : lat : 8 <> 9 : VALUES : "latitude" : "Latitude"
DIFFER : LENGTHS : ATTRIBUTE : units : VARIABLE : lat : 9 <> 14 : VALUES : "degrees_N" : "degrees_north"
DIFFER : LENGTHS : ATTRIBUTE : axis : VARIABLE : lat : 1 <> 2 : VALUES : "Y" : "Y"
DIFFER : LENGTHS : ATTRIBUTE : bounds : VARIABLE : lat : 8 <> 9 : VALUES : "lat_bnds" : "lat_bnds"
DIFFER : VARIABLE "lat" IS MISSING ATTRIBUTE WITH NAME "standard_name" IN FILE "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NUMBER OF ATTRIBUTES : VARIABLE : lat : 4 <> 5
DIFFER : VARIABLE "lat_bnds" IS MISSING ATTRIBUTE WITH NAME "long_name" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : VARIABLE "lat_bnds" IS MISSING ATTRIBUTE WITH NAME "units" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : VARIABLE "lat_bnds" IS MISSING ATTRIBUTE WITH NAME "axis" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : NUMBER OF ATTRIBUTES : VARIABLE : lat_bnds : 3 <> 0
DIFFER : LENGTHS : ATTRIBUTE : long_name : VARIABLE : lon : 9 <> 10 : VALUES : "longitude" : "Longitude"
DIFFER : LENGTHS : ATTRIBUTE : units : VARIABLE : lon : 9 <> 13 : VALUES : "degrees_E" : "degrees_east"
DIFFER : LENGTHS : ATTRIBUTE : axis : VARIABLE : lon : 1 <> 2 : VALUES : "X" : "X"
DIFFER : LENGTHS : ATTRIBUTE : bounds : VARIABLE : lon : 8 <> 9 : VALUES : "lon_bnds" : "lon_bnds"
DIFFER : VARIABLE "lon" IS MISSING ATTRIBUTE WITH NAME "standard_name" IN FILE "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NUMBER OF ATTRIBUTES : VARIABLE : lon : 4 <> 5
DIFFER : VARIABLE "lon_bnds" IS MISSING ATTRIBUTE WITH NAME "long_name" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : VARIABLE "lon_bnds" IS MISSING ATTRIBUTE WITH NAME "units" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : VARIABLE "lon_bnds" IS MISSING ATTRIBUTE WITH NAME "axis" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : NUMBER OF ATTRIBUTES : VARIABLE : lon_bnds : 3 <> 0
DIFFER : LENGTHS : ATTRIBUTE : units : VARIABLE : sos : 3 <> 6 : VALUES : "psu" : "0.001"
DIFFER : LENGTHS : ATTRIBUTE : long_name : VARIABLE : sos : 20 <> 21 : VALUES : "Sea Surface Salinity" : "Sea Surface Salinity"
DIFFER : LENGTHS : ATTRIBUTE : cell_methods : VARIABLE : sos : 36 <> 32 : VALUES : "area:mean yh:mean xh:mean time: mean" : "area: mean where sea time: mean"
DIFFER : LENGTHS : ATTRIBUTE : cell_measures : VARIABLE : sos : 15 <> 16 : VALUES : "area: areacello" : "area: areacello"
DIFFER : LENGTHS : ATTRIBUTE : standard_name : VARIABLE : sos : 20 <> 21 : VALUES : "sea_surface_salinity" : "sea_surface_salinity"
DIFFER : VARIABLE "sos" IS MISSING ATTRIBUTE WITH NAME "interp_method" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : VARIABLE "sos" IS MISSING ATTRIBUTE WITH NAME "comment" IN FILE "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : LENGTHS : ATTRIBUTE : units : VARIABLE : time : 30 <> 31 : VALUES : "days since 1958-01-01 00:00:00" : "days since 1958-01-01 00:00:00"
DIFFER : LENGTHS : ATTRIBUTE : long_name : VARIABLE : time : 4 <> 5 : VALUES : "time" : "time"
DIFFER : LENGTHS : ATTRIBUTE : axis : VARIABLE : time : 1 <> 2 : VALUES : "T" : "T"
DIFFER : VARIABLE "time" IS MISSING ATTRIBUTE WITH NAME "calendar_type" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : LENGTHS : ATTRIBUTE : calendar : VARIABLE : time : 6 <> 8 : VALUES : "julian" : "360_day"
DIFFER : LENGTHS : ATTRIBUTE : bounds : VARIABLE : time : 9 <> 10 : VALUES : "time_bnds" : "time_bnds"
DIFFER : VARIABLE "time" IS MISSING ATTRIBUTE WITH NAME "standard_name" IN FILE "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : VARIABLE "time_bnds" IS MISSING ATTRIBUTE WITH NAME "units" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : VARIABLE "time_bnds" IS MISSING ATTRIBUTE WITH NAME "long_name" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : NUMBER OF ATTRIBUTES : VARIABLE : time_bnds : 2 <> 0
an101: CMIP7_cmor_things $]
an101: CMIP7_cmor_things $]
an101: CMIP7_cmor_things $] nccmp -d -f -m -g CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc
DIFFER : FILE FORMATS : NC_FORMAT_NETCDF4_CLASSIC <> NC_FORMAT_64BIT
DIFFER : NUMBER OF GLOBAL ATTRIBUTES : 46 <> 9
DIFFER : NAME OF GLOBAL ATTRIBUTE : Conventions : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : activity_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : branch_method : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : branch_time_in_child : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : branch_time_in_parent : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : contact : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : creation_date : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : data_specs_version : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : experiment : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : experiment_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : LENGTHS OF GLOBAL ATTRIBUTE : external_variables : 256 <> 9 : VALUES : areacello <> areacello
DIFFER : NAME OF GLOBAL ATTRIBUTE : forcing_index : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : frequency : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : further_info_url : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : grid : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : grid_label : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : initialization_index : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : institution : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : institution_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : mip_era : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : nominal_resolution : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : parent_activity_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : parent_experiment_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : parent_mip_era : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : parent_source_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : parent_time_units : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : parent_variant_label : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : physics_index : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : product : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : realization_index : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : realm : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : references : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : run_variant : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : source : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : source_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : source_type : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : sub_experiment : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : sub_experiment_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : table_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : table_info : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : LENGTHS OF GLOBAL ATTRIBUTE : title : 256 <> 24 : VALUES : PCMDI-test-1-0 output prepared for CMIP6 <> om5_b05_noHiLatHenyey_55
DIFFER : NAME OF GLOBAL ATTRIBUTE : tracking_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : variable_id : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : variant_label : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : license : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : cmor_version : GLOBAL ATTRIBUTE DOESN'T EXIST IN "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NAME OF GLOBAL ATTRIBUTE : associated_files : GLOBAL ATTRIBUTE DOESN'T EXIST IN CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : grid_type : GLOBAL ATTRIBUTE DOESN'T EXIST IN CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : grid_tile : GLOBAL ATTRIBUTE DOESN'T EXIST IN CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : code_release_version : GLOBAL ATTRIBUTE DOESN'T EXIST IN CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : git_hash : GLOBAL ATTRIBUTE DOESN'T EXIST IN CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : creationtime : GLOBAL ATTRIBUTE DOESN'T EXIST IN CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc
DIFFER : NAME OF GLOBAL ATTRIBUTE : hostname : GLOBAL ATTRIBUTE DOESN'T EXIST IN CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc
DIFFER : LENGTHS : ATTRIBUTE : bounds : VARIABLE : lat : 9 <> 8 : VALUES : "lat_bnds" : "lat_bnds"
DIFFER : LENGTHS : ATTRIBUTE : units : VARIABLE : lat : 14 <> 9 : VALUES : "degrees_north" : "degrees_N"
DIFFER : LENGTHS : ATTRIBUTE : axis : VARIABLE : lat : 2 <> 1 : VALUES : "Y" : "Y"
DIFFER : LENGTHS : ATTRIBUTE : long_name : VARIABLE : lat : 9 <> 8 : VALUES : "Latitude" : "latitude"
DIFFER : VARIABLE "lat" IS MISSING ATTRIBUTE WITH NAME "standard_name" IN FILE "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NUMBER OF ATTRIBUTES : VARIABLE : lat : 5 <> 4
DIFFER : VARIABLE "lat_bnds" IS MISSING ATTRIBUTE WITH NAME "long_name" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : VARIABLE "lat_bnds" IS MISSING ATTRIBUTE WITH NAME "units" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : VARIABLE "lat_bnds" IS MISSING ATTRIBUTE WITH NAME "axis" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : NUMBER OF ATTRIBUTES : VARIABLE : lat_bnds : 0 <> 3
DIFFER : LENGTHS : ATTRIBUTE : bounds : VARIABLE : lon : 9 <> 8 : VALUES : "lon_bnds" : "lon_bnds"
DIFFER : LENGTHS : ATTRIBUTE : units : VARIABLE : lon : 13 <> 9 : VALUES : "degrees_east" : "degrees_E"
DIFFER : LENGTHS : ATTRIBUTE : axis : VARIABLE : lon : 2 <> 1 : VALUES : "X" : "X"
DIFFER : LENGTHS : ATTRIBUTE : long_name : VARIABLE : lon : 10 <> 9 : VALUES : "Longitude" : "longitude"
DIFFER : VARIABLE "lon" IS MISSING ATTRIBUTE WITH NAME "standard_name" IN FILE "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : NUMBER OF ATTRIBUTES : VARIABLE : lon : 5 <> 4
DIFFER : VARIABLE "lon_bnds" IS MISSING ATTRIBUTE WITH NAME "long_name" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : VARIABLE "lon_bnds" IS MISSING ATTRIBUTE WITH NAME "units" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : VARIABLE "lon_bnds" IS MISSING ATTRIBUTE WITH NAME "axis" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : NUMBER OF ATTRIBUTES : VARIABLE : lon_bnds : 0 <> 3
DIFFER : LENGTHS : ATTRIBUTE : bounds : VARIABLE : time : 10 <> 9 : VALUES : "time_bnds" : "time_bnds"
DIFFER : LENGTHS : ATTRIBUTE : units : VARIABLE : time : 31 <> 30 : VALUES : "days since 1958-01-01 00:00:00" : "days since 1958-01-01 00:00:00"
DIFFER : LENGTHS : ATTRIBUTE : calendar : VARIABLE : time : 8 <> 6 : VALUES : "360_day" : "julian"
DIFFER : LENGTHS : ATTRIBUTE : axis : VARIABLE : time : 2 <> 1 : VALUES : "T" : "T"
DIFFER : LENGTHS : ATTRIBUTE : long_name : VARIABLE : time : 5 <> 4 : VALUES : "time" : "time"
DIFFER : VARIABLE "time" IS MISSING ATTRIBUTE WITH NAME "standard_name" IN FILE "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : VARIABLE "time" IS MISSING ATTRIBUTE WITH NAME "calendar_type" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : VARIABLE "time_bnds" IS MISSING ATTRIBUTE WITH NAME "units" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : VARIABLE "time_bnds" IS MISSING ATTRIBUTE WITH NAME "long_name" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
DIFFER : NUMBER OF ATTRIBUTES : VARIABLE : time_bnds : 0 <> 2
DIFFER : LENGTHS : ATTRIBUTE : standard_name : VARIABLE : sos : 21 <> 20 : VALUES : "sea_surface_salinity" : "sea_surface_salinity"
DIFFER : LENGTHS : ATTRIBUTE : long_name : VARIABLE : sos : 21 <> 20 : VALUES : "Sea Surface Salinity" : "Sea Surface Salinity"
DIFFER : VARIABLE "sos" IS MISSING ATTRIBUTE WITH NAME "comment" IN FILE "TEST_FILE/ocean_monthly_1x1deg.199301-199712.sos.nc"
DIFFER : LENGTHS : ATTRIBUTE : units : VARIABLE : sos : 6 <> 3 : VALUES : "0.001" : "psu"
DIFFER : LENGTHS : ATTRIBUTE : cell_methods : VARIABLE : sos : 32 <> 36 : VALUES : "area: mean where sea time: mean" : "area:mean yh:mean xh:mean time: mean"
DIFFER : LENGTHS : ATTRIBUTE : cell_measures : VARIABLE : sos : 16 <> 15 : VALUES : "area: areacello" : "area: areacello"
DIFFER : VARIABLE "sos" IS MISSING ATTRIBUTE WITH NAME "interp_method" IN FILE "CMIP6/CMIP6/ISMIP6/PCMDI/PCMDI-test-1-0/piControl-withism/r3i1p1f1/Omon/sos/gn/v20240821/sos_Omon_PCMDI-test-1-0_piControl-withism_r3i1p1f1_gn_199307-199807.nc"
an101: CMIP7_cmor_things $]
ilaflott commented 3 weeks ago

There are two possible solutions to this issue as written. Ideally in the long run, both of these tests would exist- as one failing (but not the other) would instantly point us towards/away from click machinery being part of the problem

using click.testing.CliRunner

This approach literally tests the CLI call shown in the bash script above, and would go in fre/tests/test_fre_cmor_cli.py. This soluition must not use subprocess.run to execute the call, as this is what CliRunner is for.

using from fre import cmor

This approach would test the equivalent functionality of the CLI call shown in the bash script above, using standard module imports and python packaging structure. It would not use the CliRunner, as it's testing the module functionality and not the CLI one. This would be a test written in a file like fre/cmor/tests/test_fre_cmor_run.py

ilaflott commented 3 weeks ago

Good examples / tricks within Cole Harvey's tests: https://github.com/NOAA-GFDL/fre-workflows/tree/main/data_lineage/tests

We should avoid what i did with time averaging tests: https://github.com/NOAA-GFDL/fre-cli/tree/main/fre/app/generate_time_averages/tests

Dana / my tests for remap-pp-components and regrid_xy.py aren't too bad and may end up close to what we come up with for cmor: https://github.com/NOAA-GFDL/fre-workflows/tree/main/app/regrid-xy/t https://github.com/NOAA-GFDL/fre-workflows/tree/main/app/remap-pp-components/t

ilaflott commented 2 weeks ago

two examples in fre-workflows' regrid_xy to study for checking for array of characters v strings.

question- is this leading to a (false?) diff of 1 reported by nccmp -m on identical metadata fields in two diff netcdf files