Index: palm/trunk/SOURCE/netcdf_interface_mod.f90
===================================================================
--- palm/trunk/SOURCE/netcdf_interface_mod.f90	(revision 4453)
+++ palm/trunk/SOURCE/netcdf_interface_mod.f90	(revision 4455)
@@ -25,4 +25,7 @@
 ! -----------------
 ! $Id$
+! Axis attribute added to netcdf output
+! 
+! 4400 2020-02-10 20:32:41Z suehring
 ! Move routine to transform coordinates from netcdf_interface_mod to 
 ! basic_constants_and_equations_mod
@@ -736,4 +739,7 @@
                                      '1', 'grid point above terrain',          &
                                      471, 472, 000 )
+             CALL netcdf_create_att( id_set_mask(mid,av),                      &
+                                     id_var_zu_mask(mid,av), 'axis', 'Z', 000)
+                                     
              CALL netcdf_create_dim( id_set_mask(mid,av), 'kw_above_surf',     &
                                      mask_size(mid,3), id_dim_zw_mask(mid,av), &
@@ -745,4 +751,6 @@
                                     '1', 'grid point above terrain',           &
                                     474, 475, 000 )
+             CALL netcdf_create_att( id_set_mask(mid,av),                      &
+                                     id_var_zw_mask(mid,av), 'axis', 'Z', 000)
           ELSE
 !
@@ -755,4 +763,6 @@
                                      NF90_DOUBLE, id_var_zu_mask(mid,av),      &
                                      'meters', '', 471, 472, 000 )
+             CALL netcdf_create_att( id_set_mask(mid,av),                      &
+                                     id_var_zu_mask(mid,av), 'axis', 'Z', 000)
 !
 !--          Define vertical coordinate grid (zw grid)
@@ -764,4 +774,6 @@
                                      NF90_DOUBLE, id_var_zw_mask(mid,av),      &
                                     'meters', '', 474, 475, 000 )
+             CALL netcdf_create_att( id_set_mask(mid,av),                      &
+                                     id_var_zw_mask(mid,av), 'axis', 'Z', 000)
           ENDIF
 !
@@ -773,4 +785,6 @@
                                   NF90_DOUBLE, id_var_x_mask(mid,av),          &
                                   'meters', '', 477, 478, 000 )
+          CALL netcdf_create_att( id_set_mask(mid,av), id_var_x_mask(mid,av),  &
+                                  'axis', 'X', 000)
 !
 !--       Define x-axis (for u position)
@@ -781,4 +795,6 @@
                                   NF90_DOUBLE, id_var_xu_mask(mid,av),         &
                                   'meters', '', 480, 481, 000 )
+          CALL netcdf_create_att( id_set_mask(mid,av), id_var_xu_mask(mid,av), & 
+                                  'axis', 'X', 000)
 !
 !--       Define y-axis (for scalar position)
@@ -789,4 +805,6 @@
                                   NF90_DOUBLE, id_var_y_mask(mid,av),          &
                                   'meters', '', 483, 484, 000 )
+          CALL netcdf_create_att( id_set_mask(mid,av), id_var_y_mask(mid,av),  &
+                                  'axis', 'Y', 000)
 !
 !--       Define y-axis (for v position)
@@ -797,4 +815,6 @@
                                   'yv', NF90_DOUBLE, id_var_yv_mask(mid,av),   &
                                   'meters', '', 486, 487, 000 )
+          CALL netcdf_create_att( id_set_mask(mid,av), id_var_yv_mask(mid,av), & 
+                                  'axis', 'Y', 000)
 !
 !--       Define UTM and geographic coordinates
@@ -840,4 +860,6 @@
                                      NF90_DOUBLE, id_var_zs_mask(mid,av),      &
                                      'meters', '', 537, 555, 000 )
+             CALL netcdf_create_att( id_set_mask(mid,av),                      &
+                                     id_var_zs_mask(mid,av), 'axis', 'Z', 000)
           ENDIF
 
@@ -1496,4 +1518,6 @@
                                   'zu_3d', NF90_DOUBLE, id_var_zu_3d(av),      &
                                   'meters', '', 68, 69, 00 )
+          CALL netcdf_create_att( id_set_3d(av), id_var_zu_3d(av), 'axis',     &
+                                  'Z', 000)
 !
 !--       Define vertical coordinate grid (zw grid)
@@ -1503,4 +1527,6 @@
                                   'zw_3d', NF90_DOUBLE, id_var_zw_3d(av),      &
                                   'meters', '', 71, 72, 00 )
+          CALL netcdf_create_att( id_set_3d(av), id_var_zw_3d(av), 'axis',     &
+                                  'Z', 000)
 !
 !--       Define x-axis (for scalar position)
@@ -1510,4 +1536,6 @@
                                   NF90_DOUBLE, id_var_x_3d(av), 'meters', '',  &
                                   74, 75, 00 )
+          CALL netcdf_create_att( id_set_3d(av), id_var_x_3d(av), 'axis',     &
+                                  'X', 000)
 !
 !--       Define x-axis (for u position)
@@ -1517,4 +1545,6 @@
                                   NF90_DOUBLE, id_var_xu_3d(av), 'meters', '', &
                                   359, 360, 000 )
+          CALL netcdf_create_att( id_set_3d(av), id_var_xu_3d(av), 'axis',     &
+                                  'X', 000)
 !
 !--       Define y-axis (for scalar position)
@@ -1524,4 +1554,6 @@
                                   NF90_DOUBLE, id_var_y_3d(av), 'meters', '',  &
                                   77, 78, 00 )
+          CALL netcdf_create_att( id_set_3d(av), id_var_y_3d(av), 'axis',     &
+                                  'Y', 000)
 !
 !--       Define y-axis (for v position)
@@ -1531,4 +1563,6 @@
                                   NF90_DOUBLE, id_var_yv_3d(av), 'meters', '', &
                                   362, 363, 000 )
+          CALL netcdf_create_att( id_set_3d(av), id_var_yv_3d(av), 'axis',     &
+                                  'Y', 000)
 !
 !--       Define UTM and geographic coordinates
@@ -1570,4 +1604,6 @@
                                      'zs_3d', NF90_DOUBLE, id_var_zs_3d(av),   &
                                      'meters', '', 71, 72, 00 )
+             CALL netcdf_create_att( id_set_3d(av), id_var_zs_3d(av), 'axis',  &
+                                     'Z', 000)
 
           ENDIF
@@ -1579,7 +1615,9 @@
                                      pch_index+1, id_dim_zpc_3d(av), 70 )
              !netcdf_create_dim(ncid, dim_name, ncdim_type, ncdim_id, error_no)
-             CALL netcdf_create_var( id_set_3d(av), (/ id_dim_zpc_3d(av) /),    &
-                                     'zpc_3d', NF90_DOUBLE, id_var_zpc_3d(av),   &
+             CALL netcdf_create_var( id_set_3d(av), (/ id_dim_zpc_3d(av) /),   &
+                                     'zpc_3d', NF90_DOUBLE, id_var_zpc_3d(av), &
                                      'meters', '', 71, 72, 00 )
+             CALL netcdf_create_att( id_set_3d(av), id_var_zpc_3d(av), 'axis', &
+                                     'Z', 000)
 
           ENDIF
@@ -2480,4 +2518,6 @@
                                   'zu_xy', NF90_DOUBLE, id_var_zu_xy(av),      &
                                   'meters', '', 103, 104, 000 )
+          CALL netcdf_create_att( id_set_xy(av), id_var_zu_xy(av), 'axis',     &
+                                  'Z', 000)
 !
 !--       Define vertical coordinate grid (zw grid)
@@ -2487,4 +2527,6 @@
                                   'zw_xy', NF90_DOUBLE, id_var_zw_xy(av),      &
                                   'meters', '', 106, 107, 000 )
+          CALL netcdf_create_att( id_set_xy(av), id_var_zw_xy(av), 'axis',     &
+                                  'Z', 000)
 
           IF ( land_surface )  THEN
@@ -2501,4 +2543,6 @@
                                      'zs_xy', NF90_DOUBLE, id_var_zs_xy(av),   &
                                      'meters', '', 540, 541, 000 )
+             CALL netcdf_create_att( id_set_xy(av), id_var_zs_xy(av), 'axis',  &
+                                     'Z', 000)
 
           ENDIF
@@ -2512,4 +2556,6 @@
                                   'zu1_xy', NF90_DOUBLE, id_var_zu1_xy(av),    &
                                   'meters', '', 109, 110, 000 )
+          CALL netcdf_create_att( id_set_xy(av), id_var_zu1_xy(av), 'axis',    &
+                                  'Z', 000)
 !
 !--       Define a variable to store the layer indices of the horizontal cross
@@ -2526,4 +2572,6 @@
                                   NF90_DOUBLE, id_var_x_xy(av), 'meters', '',  &
                                   114, 115, 000 )
+          CALL netcdf_create_att( id_set_xy(av), id_var_x_xy(av), 'axis',      &
+                                  'X', 000)
 !
 !--       Define x-axis (for u position)
@@ -2533,4 +2581,6 @@
                                   NF90_DOUBLE, id_var_xu_xy(av), 'meters', '', &
                                   389, 390, 000 )
+          CALL netcdf_create_att( id_set_xy(av), id_var_xu_xy(av), 'axis',     &
+                                  'X', 000)
 !
 !--       Define y-axis (for scalar position)
@@ -2540,4 +2590,6 @@
                                   NF90_DOUBLE, id_var_y_xy(av), 'meters', '',  &
                                   117, 118, 000 )
+          CALL netcdf_create_att( id_set_xy(av), id_var_y_xy(av), 'axis',      &
+                                  'Y', 000)
 !
 !--       Define y-axis (for scalar position)
@@ -2547,4 +2599,6 @@
                                   NF90_DOUBLE, id_var_yv_xy(av), 'meters', '', &
                                   365, 366, 000 )
+          CALL netcdf_create_att( id_set_xy(av), id_var_yv_xy(av), 'axis',     &
+                                  'Y', 000)
 !
 !--       Define UTM and geographic coordinates
@@ -3437,4 +3491,6 @@
                                   'y_xz', NF90_DOUBLE, id_var_y_xz(av),        &
                                   'meters', '', 146, 147, 000 )
+          CALL netcdf_create_att( id_set_xz(av), id_var_y_xz(av), 'axis',      &
+                                  'Y', 000)
 !
 !--       Define y-axis (for v position)
@@ -3444,4 +3500,6 @@
                                   'yv_xz', NF90_DOUBLE, id_var_yv_xz(av),      &
                                   'meters', '', 370, 371, 000 )
+          CALL netcdf_create_att( id_set_xz(av), id_var_yv_xz(av), 'axis',     &
+                                  'Y', 000)
 !
 !--       Define a variable to store the layer indices of the vertical cross
@@ -3458,4 +3516,6 @@
                                   NF90_DOUBLE, id_var_x_xz(av), 'meters', '',  &
                                   151, 152, 000 )
+          CALL netcdf_create_att( id_set_xz(av), id_var_x_xz(av), 'axis',      &
+                                  'X', 000)
 !
 !--       Define x-axis (for u position)
@@ -3465,4 +3525,7 @@
                                   NF90_DOUBLE, id_var_xu_xz(av), 'meters', '', &
                                   373, 374, 000 )
+          CALL netcdf_create_att( id_set_xz(av), id_var_xu_xz(av), 'axis',     &
+                                  'X', 000)
+                                  
 !
 !--       Define the three z-axes (zu, zw, and zs)
@@ -3472,4 +3535,7 @@
                                   NF90_DOUBLE, id_var_zu_xz(av), 'meters', '', &
                                   154, 155, 000 )
+          CALL netcdf_create_att( id_set_xz(av), id_var_zu_xz(av), 'axis',     &
+                                  'Z', 000)
+                                  
           CALL netcdf_create_dim( id_set_xz(av), 'zw', nz+2, id_dim_zw_xz(av), &
                                   156 )
@@ -3477,4 +3543,6 @@
                                   NF90_DOUBLE, id_var_zw_xz(av), 'meters', '', &
                                   157, 158, 000 )
+          CALL netcdf_create_att( id_set_xz(av), id_var_zw_xz(av), 'axis',     &
+                                  'Z', 000)
 !
 !--       Define UTM and geographic coordinates
@@ -3495,4 +3563,6 @@
                                      'zs', NF90_DOUBLE, id_var_zs_xz(av),      &
                                      'meters', '', 543, 544, 000 )
+             CALL netcdf_create_att( id_set_xz(av), id_var_zs_xz(av), 'axis',  &
+                                     'Z', 000)
 
           ENDIF
@@ -4299,4 +4369,6 @@
                                   'x_yz', NF90_DOUBLE, id_var_x_yz(av),        &
                                   'meters', '', 185, 186, 000 )
+          CALL netcdf_create_att( id_set_yz(av), id_var_x_yz(av), 'axis',      &
+                                  'X', 000)
 !
 !--       Define x axis (for u position)
@@ -4306,4 +4378,6 @@
                                   'xu_yz', NF90_DOUBLE, id_var_xu_yz(av),      &
                                   'meters', '', 378, 379, 000 )
+          CALL netcdf_create_att( id_set_yz(av), id_var_xu_yz(av), 'axis',     &
+                                  'X', 000)
 !
 !--       Define a variable to store the layer indices of the vertical cross
@@ -4320,4 +4394,6 @@
                                   NF90_DOUBLE, id_var_y_yz(av), 'meters', '',  &
                                   190, 191, 000 )
+          CALL netcdf_create_att( id_set_yz(av), id_var_y_yz(av), 'axis',      &
+                                  'Y', 000)
 !
 !--       Define y-axis (for v position)
@@ -4327,4 +4403,6 @@
                                   NF90_DOUBLE, id_var_yv_yz(av), 'meters', '', &
                                   381, 382, 000 )
+          CALL netcdf_create_att( id_set_yz(av), id_var_yv_yz(av), 'axis',     &
+                                  'Y', 000)
 !
 !--       Define the two z-axes (zu and zw)
@@ -4334,4 +4412,6 @@
                                   NF90_DOUBLE, id_var_zu_yz(av), 'meters', '', &
                                   193, 194, 000 )
+          CALL netcdf_create_att( id_set_yz(av), id_var_zu_yz(av), 'axis',     &
+                                  'Z', 000)
 
           CALL netcdf_create_dim( id_set_yz(av), 'zw', nz+2, id_dim_zw_yz(av), &
@@ -4340,4 +4420,6 @@
                                   NF90_DOUBLE, id_var_zw_yz(av), 'meters', '', &
                                   196, 197, 000 )
+          CALL netcdf_create_att( id_set_yz(av), id_var_zw_yz(av), 'axis',     &
+                                  'Z', 000)
 !
 !--       Define UTM and geographic coordinates
@@ -4358,4 +4440,6 @@
                                      'zs', NF90_DOUBLE, id_var_zs_yz(av),      &
                                      'meters', '', 546, 547, 000 )
+             CALL netcdf_create_att( id_set_yz(av), id_var_zs_yz(av), 'axis',  &
+                                     'Z', 000)
 
           ENDIF
@@ -5282,4 +5366,6 @@
                                        NF90_DOUBLE, id_var_z_pr(i,0),          &
                                        'meters', '', 224, 225, 000 )
+                CALL netcdf_create_att( id_set_pr, id_var_z_pr(i,0), 'axis',   &
+                                        'Z', 000)
 !
 !--             Define the variable
@@ -5310,4 +5396,6 @@
                                            id_var_z_pr(i,j), 'meters', '',     &
                                            230, 231, 000 )
+                   CALL netcdf_create_att( id_set_pr, id_var_z_pr(i,j), 'axis',&
+                                           'Z', 000)
 !
 !--                Define the variable
@@ -5732,4 +5820,5 @@
                                   NF90_DOUBLE, id_var_zu_sp, 'meters', '',     &
                                   274, 275, 000 )
+          CALL netcdf_create_att( id_set_sp, id_var_zu_sp, 'axis', 'Z', 000)
 !
 !--       Define vertical coordinate grid (zw grid)
@@ -5738,4 +5827,5 @@
                                   NF90_DOUBLE, id_var_zw_sp, 'meters', '',     &
                                   277, 278, 000 )
+          CALL netcdf_create_att( id_set_sp, id_var_zw_sp, 'axis', 'Z', 000)
 !
 !--       Define x-axis
@@ -5744,4 +5834,5 @@
                                   NF90_DOUBLE, id_var_x_sp, 'm-1', '', 280,    &
                                   281, 000 )
+          CALL netcdf_create_att( id_set_sp, id_var_x_sp, 'axis', 'X', 000)
 !
 !--       Define y-axis
@@ -5750,4 +5841,5 @@
                                   NF90_DOUBLE, id_var_y_sp, 'm-1', '', 283,    &
                                   284, 000 )
+          CALL netcdf_create_att( id_set_sp, id_var_y_sp, 'axis', 'Y', 000)
 !
 !--       Define the variables
