Changeset 249


Ignore:
Timestamp:
31/10/14 22:52:01 (5 years ago)
Author:
mjuckes
Message:

new CCMI tables

Location:
CCCC/trunk/ceda_cc
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • CCCC/trunk/ceda_cc/config/ccmi_vocabs/mip/CCMI1_annual

    r213 r249  
    33project_id:   CCMI1    ! project id 
    44table_id:     annual   ! table id 
    5 table_date:   6 August 2014 ! date this table was constructed 
     5table_date:   31 October 2014 ! date this table was constructed 
    66modeling_realm: atmos 
    77frequency: yr 
  • CCCC/trunk/ceda_cc/config/ccmi_vocabs/mip/CCMI1_daily

    r213 r249  
    33project_id:   CCMI1    ! project id 
    44table_id:     daily    ! table id 
    5 table_date:   6 August 2014 ! date this table was constructed 
     5table_date:   31 October 2014 ! date this table was constructed 
    66modeling_realm: atmos 
    77frequency: day 
     
    20152015type:              real 
    20162016valid_min:         0.0 
    2017 valid_max:         1000.0 
     2017valid_max:         0.1 
    20182018!---------------------------------- 
    20192019! 
     
    23912391cell_methods:      time: point 
    23922392cell_measures:     area: areacella 
    2393 long_name:         O3 Volume Mixing Ratio 
     2393long_name:         Ozone Volume Mixing Ratio 
    23942394comment:            
    23952395!---------------------------------- 
     
    24832483cell_methods:      time: point 
    24842484cell_measures:     area: areacella 
    2485 long_name:         H2O Volume Mixing Ratio 
     2485long_name:         Water Vapour Volume Mixing Ratio 
    24862486comment:            
    24872487!---------------------------------- 
     
    25062506cell_methods:      time: point 
    25072507cell_measures:     area: areacella 
    2508 long_name:         Passive O3 Volume Mixing Ratio 
     2508long_name:         Passive Ozone Volume Mixing Ratio 
    25092509comment:           Passive O3 (if available): The model runs should include a tracer to diagnose polar chemical ozone loss in winter and spring. As most models will advect (and integrate) O3 as part of the 'odd oxygen' (Ox=O3 + O(3P) + O(1D)) family we will call this the 'passive Ox tracer'. This will be a global tracer which is reset during each polar winter (i.e. twice per year). Given the relatively slow transport and long chemical lifetime (without PSC processing etc) of O3 in the polar regions this will provide a useful diagnostic over the timescale of a few months in the lower stratosphere. The model tracer should be set equal to your advected 'odd oxygen' tracer on December 1 and June 1 every year. Then, the tracer is simply advected without any further chemical change. If your advection scheme stores other variables for each tracer (e.g. higher order moments) remember to set sum of these species. The passive Ox tracer should be ouput according to the other instructions. The re-initialisation dates are selected so that we diagnose most of the chemical loss over the course of the winter, some of which would be missed by a later date. 
    25102510!---------------------------------- 
     
    33543354!---------------------------------- 
    33553355standard_name:     age_of_stratospheric_air 
    3356 units:             years 
     3356units:             year 
    33573357cell_methods:      time: point 
    33583358cell_measures:     area: areacella 
     
    34963496cell_measures:     area: areacella 
    34973497long_name:         Cloud Area Fraction 
    3498 comment:           Include both large-scale and convective cloud. 
     3498comment:           Include both large-scale and convective clouds. 
    34993499!---------------------------------- 
    35003500! Additional variable information: 
     
    35193519cell_measures:     area: areacella 
    35203520long_name:         Convective Cloud Area Fraction 
    3521 comment:           Convective cloud fraction 
     3521comment:           Include only convective cloud. 
    35223522!---------------------------------- 
    35233523! Additional variable information: 
     
    36323632units:             K 
    36333633cell_methods:      longitude: mean 
    3634 long_name:         Air Temperature 
     3634long_name:         Zonal Mean Air Temperature 
    36353635comment:            
    36363636!---------------------------------- 
     
    36543654units:             m 
    36553655cell_methods:      longitude: mean 
    3656 long_name:         Geopotential Height 
     3656long_name:         Zonal Mean Geopotential Height 
    36573657comment:            
    36583658!---------------------------------- 
     
    36763676units:             m s-1 
    36773677cell_methods:      longitude: mean 
    3678 long_name:         Eastward Wind 
     3678long_name:         Zonal Mean Eastward Wind 
    36793679comment:            
    36803680!---------------------------------- 
     
    38083808units:             mole mole-1 
    38093809cell_methods:      longitude: mean 
    3810 long_name:         Ozone Volume Mixing Ratio 
     3810long_name:         Zonal Mean Ozone Volume Mixing Ratio 
    38113811comment:            
    38123812!---------------------------------- 
     
    38303830units:             mole mole-1 
    38313831cell_methods:      longitude: mean 
    3832 long_name:         Water Vapour Volume Mixing Ratio 
     3832long_name:         Zonal Mean Water Vapour Volume Mixing Ratio 
    38333833comment:            
    38343834!---------------------------------- 
     
    38523852units:             mole mole-1 
    38533853cell_methods:      longitude: mean 
    3854 long_name:         Total Reactive Nitrogen Volume Mixing Ratio 
     3854long_name:         Zonal Mean Total Reactive Nitrogen (NOy) Volume Mixing Ratio 
    38553855comment:           Total family (the sum of all appropriate species in the model); list the species in the netCDF header, e.g. NOy = N + NO + NO2 + NO3 + HNO3 + 2N2O5 + HNO4 + ClONO2 + BrONO2.  Definition: Total reactive nitrogen; usually includes atomic nitrogen (N), nitric oxide (NO), NO2, nitrogen trioxide (NO3), dinitrogen radical (N2O5), nitric acid (HNO3), peroxynitric acid (HNO4), BrONO2, ClONO2 
    38563856!---------------------------------- 
     
    38743874units:             mole mole-1 
    38753875cell_methods:      longitude: mean 
    3876 long_name:         ClO volume mixing ratio 
     3876long_name:         Zonal Mean ClO volume mixing ratio 
    38773877comment:            
    38783878!---------------------------------- 
     
    38963896units:             mole mole-1 
    38973897cell_methods:      longitude: mean 
    3898 long_name:         BrO volume mixing ratio 
     3898long_name:         Zonal Mean BrO volume mixing ratio 
    38993899comment:            
    39003900!---------------------------------- 
  • CCCC/trunk/ceda_cc/config/ccmi_vocabs/mip/CCMI1_fixed

    r213 r249  
    33project_id:   CCMI1       ! project id 
    44table_id:     fixed 
    5 table_date:   6 August 2014 ! date this table was constructed 
     5table_date:   31 October 2014 ! date this table was constructed 
    66modeling_realm: atmos 
    77frequency: fx 
  • CCCC/trunk/ceda_cc/config/ccmi_vocabs/mip/CCMI1_hourly

    r213 r249  
    33project_id:   CCMI1    ! project id 
    44table_id:     hourly   ! table id 
    5 table_date:   6 August 2014 ! date this table was constructed 
     5table_date:   31 October 2014 ! date this table was constructed 
    66modeling_realm: atmos 
    77frequency: hr 
     
    621621standard_name:     surface_air_pressure 
    622622units:             Pa 
     623cell_methods:      time: point 
    623624cell_measures:     area: areacella 
    624625long_name:         Surface Air Pressure 
     
    643644standard_name:     mole_fraction_of_ozone_in_air 
    644645units:             mole mole-1 
     646cell_methods:      time: point 
    645647cell_measures:     area: areacella 
    646648long_name:         Ozone Volume Mixing Ratio in the Lowest Model Layer 
     
    665667standard_name:     mole_fraction_of_nitrogen_dioxide_in_air 
    666668units:             mole mole-1 
     669cell_methods:      time: point 
    667670cell_measures:     area: areacella 
    668671long_name:         NO2 Volume Mixing Ratio in the Lowest Model Layer 
     
    687690standard_name:     mole_fraction_of_carbon_monoxide_in_air 
    688691units:             mole mole-1 
     692cell_methods:      time: point 
    689693cell_measures:     area: areacella 
    690694long_name:         CO Volume Mixing Ratio in the Lowest Model Layer 
     
    709713standard_name:     mass_fraction_of_pm2p5_ambient_aerosol_in_air 
    710714units:             kg kg-1 
     715cell_methods:      time: point 
    711716cell_measures:     area: areacella 
    712717long_name:         PM2.5 Mass Mixing Ratio in the Lowest Model Layer 
     
    731736standard_name:     tendency_of_atmosphere_mass_content_of_ozone_due_to_dry_deposition 
    732737units:             kg m-2 s-1 
     738cell_methods:      time: point 
    733739cell_measures:     area: areacella 
    734740long_name:         Dry Deposition Rate of O3 
     
    754760!FAILS CF25 standard_name:     stomatal_conductance_of_water_vapour_per_unit_leaf_area 
    755761units:             mmol m-2 s-1 
     762cell_methods:      time: point 
    756763cell_measures:     area: areacella 
    757764long_name:         Stomatal Conductance of Water Vapour 
     
    776783standard_name:     tendency_of_atmosphere_mass_content_of_ozone_due_to_dry_deposition_into_stomata 
    777784units:             kg m-2 s-1 
     785cell_methods:      time: point 
    778786cell_measures:     area: areacella 
    779787long_name:         Dry Deposition Rate of O3 in Stomata 
     
    799807standard_name:     mole_fraction_of_ozone_in_air 
    800808units:             mole mole-1 
     809cell_methods:      time: point 
    801810cell_measures:     area: areacella 
    802811long_name:         Ozone Volume Mixing Ratio at Canopy Height 
  • CCCC/trunk/ceda_cc/config/ccmi_vocabs/mip/CCMI1_monthly

    r213 r249  
    33project_id:   CCMI1    ! project id 
    44table_id:     monthly  ! table id 
    5 table_date:   6 August 2014 ! date this table was constructed 
     5table_date:   31 October 2014 ! date this table was constructed 
    66modeling_realm: atmos 
    77frequency: mon 
     
    726726!---------------------------------- 
    727727standard_name:     cloud_area_fraction 
    728 units:             1 
     728units:             % 
    729729cell_methods:      time: mean 
    730730cell_measures:     area: areacella 
    731731long_name:         Total Cloud Fraction 
    732 comment:           cloud area fraction 
    733 !---------------------------------- 
    734 ! Additional variable information: 
    735 !---------------------------------- 
    736 dimensions:        longitude latitude time 
    737 type:              real 
    738 valid_min:         0.0 
    739 valid_max:         1.0 
     732comment:           For the whole atmospheric column, as seen from the surface or the top of the atmosphere. Include both large-scale and convective cloud. 
     733!---------------------------------- 
     734! Additional variable information: 
     735!---------------------------------- 
     736dimensions:        longitude latitude time 
     737type:              real 
     738valid_min:         0.0 
     739valid_max:         101.0 
    740740!---------------------------------- 
    741741! 
     
    749749!---------------------------------- 
    750750standard_name:     convective_cloud_area_fraction 
    751 units:             1 
    752 cell_methods:      time: mean 
    753 cell_measures:     area: areacella 
    754 long_name:         Convective Cloud Area Fraction 
    755 comment:           Convective cloud fraction 
    756 !---------------------------------- 
    757 ! Additional variable information: 
    758 !---------------------------------- 
    759 dimensions:        longitude latitude time 
    760 type:              real 
    761 valid_min:         0.0 
    762 valid_max:         1.0 
     751units:             % 
     752cell_methods:      time: mean 
     753cell_measures:     area: areacella 
     754long_name:         Convective Cloud Fraction 
     755comment:           For the whole atmospheric column, as seen from the surface or the top of the atmosphere. Include only convective cloud. 
     756!---------------------------------- 
     757! Additional variable information: 
     758!---------------------------------- 
     759dimensions:        longitude latitude time 
     760type:              real 
     761valid_min:         0.0 
     762valid_max:         101.0 
    763763!---------------------------------- 
    764764! 
     
    845845cell_measures:     area: areacella 
    846846long_name:         Precipitation 
    847 comment:           includes both liquid and solid phases 
    848 !---------------------------------- 
    849 ! Additional variable information: 
    850 !---------------------------------- 
    851 dimensions:        longitude latitude time 
    852 type:              real 
    853 positive:          down 
    854 valid_min:         0.0 
    855 valid_max:         10000.0 
     847comment:           at surface; includes both liquid and solid phases from all types of clouds (both large-scale and convective) 
     848!---------------------------------- 
     849! Additional variable information: 
     850!---------------------------------- 
     851dimensions:        longitude latitude time 
     852type:              real 
     853valid_min:         0.0 
     854valid_max:         0.1 
    856855!---------------------------------- 
    857856! 
     
    19341933cell_methods:      time: mean 
    19351934cell_measures:     area: areacella 
    1936 long_name:         Dry Deposition Rate of O3 
     1935long_name:         Dry Deposition Rate of Ozone 
    19371936comment:           dry deposition includes gravitational settling, impact scavenging, and turbulent deposition. 
    19381937!---------------------------------- 
     
    19581957cell_methods:      time: mean 
    19591958cell_measures:     area: areacella 
    1960 long_name:         Dry Deposition Rate of O3 in Stomata 
     1959long_name:         Dry Deposition Rate of Ozone in Stomata 
    19611960comment:           (dry deposition includes gravitational settling, impact scavenging, and turbulent deposition). 
    19621961!---------------------------------- 
     
    41284127cell_methods:      time: mean 
    41294128cell_measures:     area: areacella 
    4130 long_name:         STE O3 Flux 
     4129long_name:         STE Ozone Flux 
    41314130comment:           estimated strat-trop flux of ozone, i.e., the reset tendency of o3ste to o3 in the lowermost layers. See tracer o3ste on the monthly-mean 3d sheet for details. 
    41324131!---------------------------------- 
     
    46594658cell_measures:     area: areacella 
    46604659long_name:         Cloud Area Fraction 
    4661 comment:           Report on model layers (not standard pressures). Include both large-scale and convective clouds. 
     4660comment:           Report on model layers. Include both large-scale and convective clouds. 
    46624661!---------------------------------- 
    46634662! Additional variable information: 
     
    66746673units:             mole mole-1 
    66756674cell_methods:      time: mean longitude: mean 
    6676 long_name:         Zonal Mean H2O Volume Mixing Ratio 
     6675long_name:         Zonal Mean Water Vapour Volume Mixing Ratio 
    66776676comment:            
    66786677!---------------------------------- 
     
    66946693!---------------------------------- 
    66956694standard_name:     age_of_stratospheric_air 
    6696 units:             years 
     6695units:             year 
    66976696cell_methods:      time: mean longitude: mean 
    66986697long_name:         Zonal Mean Mean Age of Stratospheric Air 
     
    77307729units:             m s-2 
    77317730cell_methods:      time: mean longitude: mean 
    7732 long_name:         Tendency of Eastward Wind from OGWD 
     7731long_name:         Tendency of Eastward Wind from Oro-GWD 
    77337732comment:           Eastward acceleration from the parameterized orographic gravity wave drag (OGWD) derived either from daily means or 6hr fields (use instantaneous daily fields or 12 hr fields if the 6 hr data are not available). Use the accelerations as applied in your model. 
    77347733!---------------------------------- 
     
    77527751units:             Pa 
    77537752cell_methods:      time: mean longitude: mean 
    7754 long_name:          
    7755 comment:           Zonal orographic gravity wave stress (momentum flux), including any flux out of the top of the model (e.g., add additional level to the output file for model top. Set flux at this level to zero if nothing escapes to outer space in your model), derived either from daily means or 6hr fields (use instantaneous daily fields or 12 hr fields if the 6 hr data are not available). 
     7753long_name:         Zonal Component of Upward Momentum Flux by Oro-GWs 
     7754comment:           Zonal (positive eastward) orographic gravity wave stress (momentum flux), including any flux out of the top of the model (e.g., add additional level to the output file for model top. Set flux at this level to zero if nothing escapes to outer space in your model), derived either from daily means or 6hr fields (use instantaneous daily fields or 12 hr fields if the 6 hr data are not available). 
    77567755!---------------------------------- 
    77577756! Additional variable information: 
     
    77747773units:             m s-2 
    77757774cell_methods:      time: mean longitude: mean 
    7776 long_name:         Tendency of Eastward Wind from Non-OGWD 
     7775long_name:         Tendency of Eastward Wind from Non-Oro GWD 
    77777776comment:           Eastward acceleration from the parameterized non-orographic gravity wave drag (NOGWD) derived either from daily means or 6hr fields (use instantaneous daily fields or 12 hr fields if the 6 hr data are not available). Use the accelerations as applied in your model. 
    77787777!---------------------------------- 
     
    77877786 
    77887787!============ 
    7789 variable_entry:    nogwfluxw 
     7788variable_entry:    nogwfluxe 
    77907789!============ 
    77917790modeling_realm:     atmos 
     
    77967795units:             Pa 
    77977796cell_methods:      time: mean longitude: mean 
    7798 long_name:          
    7799 comment:           Westward component of the zonal non-orographic gravity wave momentum flux, including any flux out of the top of the model (e.g., add additional level to the output file for model top. Set flux at this level to zero if nothing escapes to outer space in your model), derived either from daily means or 6hr fields (use instantaneous daily fields or 12 hr fields if the 6 hr data are not available). 
     7797long_name:         Zonal Component of Upward Momentum Flux by Eastward Propagating Non-Oro GWs 
     7798comment:           Zonal component (positive eastward) of the non-orographic gravity wave momentum flux carried by eastward propagating waves, including any flux out of the top of the model (e.g., add additional level to the output file for model top. Set flux at this level to zero if nothing escapes to outer space in your model). Derived either from daily means or 6hr fields (use instantaneous daily fields or 12 hr fields if the 6 hr data are not available). 
    78007799!---------------------------------- 
    78017800! Additional variable information: 
     
    78097808 
    78107809!============ 
    7811 variable_entry:    nogwfluxe 
     7810variable_entry:    nogwfluxw 
    78127811!============ 
    78137812modeling_realm:     atmos 
     
    78187817units:             Pa 
    78197818cell_methods:      time: mean longitude: mean 
    7820 long_name:          
    7821 comment:           Eastward component of the zonal non-orographic gravity wave momentum flux, including any flux out of the top of the model (e.g., add additional level to the output file for model top. Set flux at this level to zero if nothing escapes to outer space in your model), derived either from daily means or 6hr fields (use instantaneous daily fields or 12 hr fields if the 6 hr data are not available). 
     7819long_name:         Zonal Component of Upward Momentum Flux by Westward Propagating Non-Oro GWs 
     7820comment:           Zonal component (positive eastward) of the non-orographic gravity wave momentum flux carried by westward propagating waves, including any flux out of the top of the model (e.g., add additional level to the output file for model top. Set flux at this level to zero if nothing escapes to outer space in your model). Derived either from daily means or 6hr fields (use instantaneous daily fields or 12 hr fields if the 6 hr data are not available). 
    78227821!---------------------------------- 
    78237822! Additional variable information: 
     
    78407839units:             m s-2 
    78417840cell_methods:      time: mean longitude: mean 
    7842 long_name:          
     7841long_name:         Tendency of Eastward Wind from Numerical Artefacts 
    78437842comment:           Other sub-grid scale/numerical zonal drag excluding that already provided for the parameterized orographic and non-ororgraphic gravity waves. This would be used to calculate the total 'diabatic drag'. Contributions to this additional drag such Rayleigh friction and diffusion that can be calculated from the monthly mean wind fields should not be included, but details (e.g. coefficients) of the friction and/or diffusion used in the model should be provided separately. 
    78447843!---------------------------------- 
  • CCCC/trunk/ceda_cc/extractMipInfo.py

    r241 r249  
    196196      for k in ms.adict.keys(): 
    197197        if k not in usedDims: 
    198           print "WARNING: axis %s declared and not used in table %s" % (k,tab) 
     198          print "WARNING[X1]: axis %s declared and not used in table %s" % (k,tab) 
    199199      for u in usedDims: 
    200200        if ms.adict.has_key(u): 
    201201           self.dd[tab][u] = ms.adict[u] 
    202202        else: 
    203            print 'USED DIMENSION %s not in table %s' % (u,tab) 
     203           print 'WARNING[X2]: USED DIMENSION %s not in table %s' % (u,tab) 
    204204      ##self.dl.append( [tab, ms.adict.copy()] ) 
    205205      self.dl.append( [tab, self.dd[tab].copy() ] ) 
     
    261261     if len(l) > 1: 
    262262       for att in thisatts: 
     263        if att != "__name__": 
    263264       ##for att in ['standard_name','units']: 
    264265         if att == '__dimensions__': 
     
    274275           for a in av: 
    275276             if a not in snl and a not in snla: 
    276                print xxx,"INVALID STANDARD NAME: ",a,v 
     277               print "ERROR[A1]: ",xxx,"INVALID STANDARD NAME: ",a,v 
    277278               self.errors.append( "INVALID STANDARD NAME: %s [%s]" % (a,v) ) 
    278279         if len(av) > 1: 
     
    302303             isol.append((iso,x)) 
    303304             if tt[0]: 
    304                print 'Substituting ',v,a,tt 
     305               print 'INFO[Y1]: Substituting ',v,a,tt 
    305306               ee[iso].append( tt[1] ) 
    306307             else: 
     
    315316    
    316317             if not ok: 
    317                 print xxx,'E001: Multiple values : ',att,v 
     318                print xxx,'E001: Multiple values : ',att,v,ee 
    318319                for t in isol: 
    319320                  if t[0] == a: 
    320321                    tab = t[1] 
    321322                    if att in ['standard_name','long_name']: 
    322                       print xxx,tab,td[tab][v][ix].get('standard_name','__ABSENT__'),td[tab][v][ix].get('long_name','__ABSENT__') 
     323                      print "E002",xxx,tab,td[tab][v][ix].get('standard_name','__ABSENT__'),td[tab][v][ix].get('long_name','__ABSENT__') 
    323324                    else: 
    324                       print xxx,tab,td[tab][v][ix].get(att,'__ABSENT__') 
     325                      print "E003",xxx,tab,td[tab][v][ix].get(att,'__ABSENT__') 
    325326                    
    326327           if att == "standard_name": 
     
    330331             tt = snsubber.isFalseSn( v, av[0] ) 
    331332             if tt[0]: 
    332                print 'Substituting ',v,av[0],tt 
     333               print 'INFO[A2]: Substituting ',v,av[0],tt 
    333334               vd2[v] = (1, tt[1]) 
    334335             else: 
     
    339340           tt = snsubber.isFalseSn( v, a ) 
    340341           if tt[0]: 
    341              print 'Substituting ',v,a,tt 
     342             print 'INFO[A3]: Substituting ',v,a,tt 
    342343             vd2[v] = (1, tt[1]) 
    343344           else: 
     
    345346           ##print 'MULTIPLE VALUES: ',v,att,av 
    346347     else: 
    347       print xxx, 'Zero length element: %s' % v 
     348      print "WARNING[X4]: ",xxx, 'Zero length element: %s' % v 
    348349    
    349350class typecheck1: 
     
    402403                     thisok = True 
    403404               if thisok: 
    404                  print '############### conditional match found', tab, v 
     405                 print 'INFO ############### conditional match found', tab, v 
    405406               else: 
    406407                 if pmatch: 
     
    434435         type5.append(v) 
    435436    xx = float( len(vars) ) 
    436     print string.join( map( lambda x: '%s (%5.1f%%);' % (x,x/xx*100), [len(type1), len(type2), len(type3), len(type4), len(type5)] ) ) 
     437    print "INFO[XXX]", string.join( map( lambda x: '%s (%5.1f%%);' % (x,x/xx*100), [len(type1), len(type2), len(type3), len(type4), len(type5)] ) ) 
    437438    self.type1 = type1 
    438439    self.type2 = type2 
     
    537538mips = ( cordex_mip, NT_mip( 'ccmi', 'ccmi_vocabs/mip/', 'CCMI1_*'), NT_mip( 'cmip5','cmip5_vocabs/mip/', 'CMIP5_*' ), ) 
    538539mips = ( cordex_mip, ) 
    539 mips = ( NT_mip( 'ccmi', 'ccmi_vocabs/mip/', 'CCMI1_*'),  ) 
    540540mips = ( specs_mip, ) 
    541541mips = ( NT_mip( 'cmip5','cmip5_vocabs/mip/', 'CMIP5_*' ), ) 
     542mips = ( NT_mip( 'ccmi', 'ccmi_vocabs/mip/', 'CCMI1_*'),  ) 
    542543m = mipCo( mips )   
    543544h = helper() 
     
    567568r = runcheck1( m, ald, isAxes=True ) 
    568569for e in r.errors: 
    569   print e 
     570  print ".....",e 
    570571 
    571572allatts = ms.al 
  • CCCC/trunk/ceda_cc/fcc_utils2.py

    r236 r249  
    113113              if ff[k][1]['long_name'] != appendTo[k][1]['long_name']: 
    114114                if warn: 
    115                   print 'WARNING[X1]%s -- %s: Inconsistent long_names %s:: %s --- %s' % (tag,appendTo[k][3],k,ff[k][1]['long_name'],appendTo[k][1]['long_name']) 
     115                  k3 = min( 3, len(appendTo[k])-1 ) 
     116                  print 'WARNING[X1]%s -- %s: Inconsistent long_names %s:: %s --- %s' % (tag,appendTo[k][k3],k,ff[k][1]['long_name'],appendTo[k][1]['long_name']) 
    116117 
    117118              p1 = ff[k][1].get('positive','not set') 
     
    119120              if p1 != p2: 
    120121                if warn: 
    121                   print 'WARNING[X1]%s -- %s: Inconsistent positive attributes %s:: %s --- %s' % (tag,appendTo[k][3],k,p1,p2) 
     122                  k3 = min( 3, len(appendTo[k])-1 ) 
     123                  print 'WARNING[X1]%s -- %s: Inconsistent positive attributes %s:: %s --- %s' % (tag,appendTo[k][k3],k,p1,p2) 
    122124 
    123125              for k2 in ff[k][1].keys(): 
     
    127129                    if p1 != p2: 
    128130                      if warn: 
    129                         print 'WARNING[Y1]%s -- %s: Inconsistent %s attributes %s:: %s --- %s' % (tag,appendTo[k][3],k2,k,p1,p2) 
     131                        k3 = min( 3, len(appendTo[k])-1 ) 
     132                        print 'WARNING[Y1]%s -- %s: Inconsistent %s attributes %s:: %s --- %s' % (tag,appendTo[k][k3],k2,k,p1,p2) 
    130133 
    131134            if not lax: 
Note: See TracChangeset for help on using the changeset viewer.