94 lines
2.6 KiB
Python
Executable File
94 lines
2.6 KiB
Python
Executable File
'''
|
|
Generate a test increments file
|
|
and the SlaReference file
|
|
|
|
Requires coordinates and depth file
|
|
|
|
D. J. Lea Sep 2014
|
|
'''
|
|
|
|
import netCDF4
|
|
import numpy as np
|
|
|
|
# example files to get lon and lat
|
|
exdir='/hpc/data/nwp/ofrd/frld/FORCING/ORCA2_LIM_nemo_v3.6'
|
|
exfile1='coordinates.nc'
|
|
|
|
infile1=exdir+'/'+exfile1
|
|
fileid=netCDF4.Dataset(infile1, mode='r')
|
|
nav_lon=fileid.variables['nav_lon'][:,:]
|
|
nav_lat=fileid.variables['nav_lat'][:,:]
|
|
fileid.close
|
|
|
|
print np.shape(nav_lon)
|
|
|
|
exfile2='data_1m_potential_temperature_nomask.nc'
|
|
infile2=exdir+'/'+exfile2
|
|
fileid=netCDF4.Dataset(infile2, mode='r')
|
|
nav_lev=fileid.variables['depth'][:]
|
|
fileid.close()
|
|
|
|
nshp=np.shape(nav_lon)
|
|
ny=nshp[0]
|
|
nx=nshp[1]
|
|
nz=np.size(nav_lev)
|
|
nt=1
|
|
|
|
#create a new file
|
|
outdir='.'
|
|
outfile='assim_background_increments_test.nc'
|
|
|
|
print "creating: ",outfile
|
|
ncfile=netCDF4.Dataset(outdir+'/'+outfile, mode='w', format='NETCDF3_CLASSIC')
|
|
ncfile.createDimension('x',nx)
|
|
ncfile.createDimension('y',ny)
|
|
ncfile.createDimension('z',nz)
|
|
ncfile.createDimension('t',size=0)
|
|
ncnav_lat = ncfile.createVariable('nav_lat','f4',('y','x'))
|
|
ncnav_lat[:,:]=nav_lat
|
|
ncnav_lon = ncfile.createVariable('nav_lon','f4',('y','x'))
|
|
ncnav_lon[:,:]=nav_lon
|
|
ncnav_lev = ncfile.createVariable('nav_lev','f4',('z'))
|
|
ncnav_lev[:]=nav_lev
|
|
ncvar = ncfile.createVariable('bckineta','f8',('t','y','x'))
|
|
ncvar[0,:,:]=0.1
|
|
ncvar = ncfile.createVariable('bckins','f8',('t','z','y','x'))
|
|
ncvar[0,:,:,:]=0.1
|
|
ncvar = ncfile.createVariable('bckint','f8',('t','z','y','x'))
|
|
ncvar[0,:,:,:]=0.1
|
|
ncvar = ncfile.createVariable('bckinu','f8',('t','z','y','x'))
|
|
ncvar[0,:,:,:]=0.1
|
|
ncvar = ncfile.createVariable('bckinv','f8',('t','z','y','x'))
|
|
ncvar[0,:,:,:]=0.1
|
|
ncvar = ncfile.createVariable('bckinseaice','f8',('t','y','x'))
|
|
ncvar[0,:,:]=0.1
|
|
ncvar = ncfile.createVariable('bckinsshobias','f8',('t','y','x'))
|
|
ncvar[0,:,:]=0.1
|
|
ncvar = ncfile.createVariable('time_counter','f8',('t'))
|
|
ncvar[0]=0
|
|
ncvar = ncfile.createVariable('time','f8')
|
|
ncvar[:]=10101
|
|
ncvar = ncfile.createVariable('z_inc_dateb','f8')
|
|
ncvar[:]=10101
|
|
ncvar = ncfile.createVariable('z_inc_datef','f8')
|
|
ncvar[:]=10102
|
|
|
|
|
|
ncfile.close()
|
|
|
|
#create sla reference file
|
|
outfile='slaReferenceLevel_test.nc'
|
|
|
|
print "creating: ",outfile
|
|
ncfile=netCDF4.Dataset(outdir+'/'+outfile, mode='w', format='NETCDF3_CLASSIC')
|
|
ncfile.createDimension('x',nx)
|
|
ncfile.createDimension('y',ny)
|
|
ncnav_lat = ncfile.createVariable('nav_lat','f4',('y','x'))
|
|
ncnav_lat[:,:]=nav_lat
|
|
ncnav_lon = ncfile.createVariable('nav_lon','f4',('y','x'))
|
|
ncnav_lon[:,:]=nav_lon
|
|
ncvar = ncfile.createVariable('sossheig','f4',('y','x'),fill_value=1e20)
|
|
ncvar[:,:]=0.01
|
|
|
|
ncfile.close()
|