Changeset 468 in lmdz_wrf for trunk/tools


Ignore:
Timestamp:
Jun 9, 2015, 6:15:34 PM (10 years ago)
Author:
lfita
Message:

'Final'? correction for the `None' vardim for the simulation
Solved issue with the masked values from the observations

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tools/validation_sim.py

    r467 r468  
    14221422
    14231423    ovobs = oobs.variables[valvars[ivar][1]]
     1424    if searchInlist(ovobs.ncattrs(),'_FillValue'):
     1425        oFillValue = ovobs.getncattr('_FillValue')
    14241426
    14251427# Simulated values spatially around coincident times
     
    14511453        for it in range(Ncoindt):
    14521454            ito = int(coindtvalues[it,1])
    1453             slicev = dims['X'][0] + ':' + str(stationpos[1]) + '|' +                 \
    1454               dims['Y'][0] + ':' + str(stationpos[0]) + '|' +                        \
    1455               dims['T'][0] + ':' + str(int(coindtvalues[it][0]))
     1455            if valdimsim.has_key('X') and valdimsim.has_key('Y'):
     1456                slicev = dims['X'][0] + ':' + str(stationpos[1]) + '|' +             \
     1457                  dims['Y'][0] + ':' + str(stationpos[0]) + '|' +                    \
     1458                  dims['T'][0] + ':' + str(int(coindtvalues[it][0]))
     1459            else:
     1460                slicev = dims['T'][0] + ':' + str(int(coindtvalues[it][0]))
    14561461            slicevar, dimslice = slice_variable(ovsim, slicev)
    1457             if ovobs[int(ito)] != ovobs[int(ito)]:
     1462            if ovobs[int(ito)] == oFillValue or ovobs[int(ito)] == '--':
    14581463                simobsvalues.append([ slicevar, fillValueF])
     1464#            elif ovobs[int(ito)] != ovobs[int(ito)]:
     1465#                simobsvalues.append([ slicevar, fillValueF])
    14591466            else:
    14601467                simobsvalues.append([ slicevar, ovobs[int(ito)]])
    1461             slicev = dims['X'][0] + ':' + str(stationpos[1]-Ngrid) + '@' +           \
    1462               str(stationpos[1]+Ngrid+1) + '|' + dims['Y'][0] + ':' +                \
    1463               str(stationpos[0]-Ngrid) + '@' + str(stationpos[0]+Ngrid+1) + '|' +    \
    1464               dims['T'][0] + ':' + str(int(coindtvalues[it,0]))
     1468            if valdimsim.has_key('X') and valdimsim.has_key('Y'):
     1469                slicev = dims['X'][0] + ':' + str(stationpos[1]-Ngrid) + '@' +       \
     1470                  str(stationpos[1]+Ngrid+1) + '|' + dims['Y'][0] + ':' +            \
     1471                  str(stationpos[0]-Ngrid) + '@' + str(stationpos[0]+Ngrid+1) + '|' +\
     1472                  dims['T'][0] + ':' + str(int(coindtvalues[it,0]))
     1473            else:
     1474                slicev = dims['T'][0] + ':' + str(int(coindtvalues[it][0]))
    14651475            slicevar, dimslice = slice_variable(ovsim, slicev)
    14661476            simobsSvalues[it,:,:] = slicevar
     
    16291639
    16301640# sim Values to netCDF
    1631     newvar = onewnc.createVariable(valvars[ivar][0], 'f', ('time'),                  \
     1641    newvar = onewnc.createVariable(valvars[ivar][0] + '_sim', 'f', ('time'),         \
    16321642      fill_value=fillValueF)
    16331643    descvar = 'simulated: ' + valvars[ivar][0]
     
    16361646
    16371647# obs Values to netCDF
    1638     newvar = onewnc.createVariable(valvars[ivar][1], 'f', ('time'),                  \
     1648    newvar = onewnc.createVariable(valvars[ivar][1] + '_obs', 'f', ('time'),         \
    16391649      fill_value=fillValueF)
    16401650    descvar = 'observed: ' + valvars[ivar][1]
Note: See TracChangeset for help on using the changeset viewer.