tflowlineslab.py - pism - [fork] customized build of PISM, the parallel ice sheet model (tillflux branch)
 (HTM) git clone git://src.adamsgaard.dk/pism
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
       tflowlineslab.py (1364B)
       ---
            1 #!/usr/bin/env python3
            2 
            3 # creates an example flowline data set "slab.nc" which can be used with
            4 # flowline.py to show how to run PISM in flow-line mode
            5 
            6 # see the "Using PISM for flow-line modeling" subsection of the Users Manual
            7 
            8 # We recommend creating more metadata-rich datasets than is done here.
            9 # Here we generate the bare minimum to work with flowline.py and PISM.
           10 
           11 from numpy import linspace, minimum, maximum, abs
           12 import netCDF4
           13 
           14 Lx = 1000e3                     # 1000 km
           15 Mx = 501
           16 topg_slope = -1e-4
           17 thk_0 = 1e3                        # meters
           18 climatic_mass_balance_0 = 0             # kg m-2 s-1
           19 ice_surface_temp_0 = -10           # Celsius
           20 
           21 nc = netCDF4.Dataset("slab.nc", 'w')
           22 nc.createDimension('x', Mx)
           23 
           24 x = nc.createVariable('x',    'f4', ('x',))
           25 topg = nc.createVariable('topg', 'f4', ('x',))
           26 thk = nc.createVariable('thk',  'f4', ('x',))
           27 climatic_mass_balance = nc.createVariable('climatic_mass_balance', 'f4', ('x',))
           28 ice_surface_temp = nc.createVariable('ice_surface_temp', 'f4', ('x',))
           29 
           30 x[:] = linspace(-Lx, Lx, Mx)
           31 x.units = "m"
           32 topg[:] = topg_slope * (x[:] - Lx)
           33 topg.units = "m"
           34 
           35 thk[:] = maximum(minimum(5e3 - abs(x[:]) * 0.01, thk_0), 0)
           36 thk.units = "m"
           37 
           38 climatic_mass_balance[:] = climatic_mass_balance_0
           39 climatic_mass_balance.units = "kg m-2 s-1"
           40 ice_surface_temp[:] = ice_surface_temp_0
           41 ice_surface_temp.units = "Celsius"
           42 
           43 nc.close()