netcdf wcrprototypenc { //****************************************************************************// //* Experiment NASA06 (16 Jan - 13 Feb 2006) *// //* WCR prototype cdl file used to generate NASA06 WCR netcdf files *// //* applicable to the following WCR modes (DAQ algorithms, WCRdaqalg): *// //* SPPMAG - single -antenna single-polarization *// //* PPMAG - multiple-antenna single-polarization *// //* For more information on the modes and DAQ algorithms see *// //* http://www-das.uwyo.edu/wcr *// //* Attention: For those using processing software with 'row major' *// //* order for multi-dimensional arrays (e.g., IDL, FORTRAN), *// //* keep in mind that the order in which the dimensions will *// //* be loaded is reversed to the one shown in this file header. *// //* This file can also serve as help document for the archived variables *// //* *// //****************************************************************************// dimensions: profile = 1 ; // radar profiles; slightly irregularly sampled in time range = 1 ; // radar range gates //* number of same-beam pulse pairs(velocity) for PPMAG algs; *// copp = 1 ; // number of co-pol pulse pairs(velocity) for PPMAG algs//PPM hbeam = 1 ; // number of active beams for H-receiver (PPMAG only) //PPM vbeam = 1 ; // number of active beams for V-receiver (PPMAG only) //PPM beam = 1 ; // number of all active beams for PPMAG algs //PPM vector3 = 3 ; // Earth coordinate system vector dimension variables: int base_time ; // Time (usually UTC) in UNIX format base_time:long_name = "Start time" ;// according to WCRirigflag status base_time:units = "seconds since 00:00:00.00 Jan 1 1970" ; base_time:source = "N2UW" ; double time_offset(profile) ; time_offset:long_name = "Profile acquisition time offset from base_time"; time_offset:units = "seconds since base_time" ; time_offset:source = "N2UW" ; float range(range) ; range:long_name = "Range to (geometric) center of radar range gates" ; range:units = "meters" ; range:source = "WCR" ; float range_correction(range) ; range_correction:long_name = "Radar power range correction" ; range_correction:units = "dB" ; range_correction:source = "WCR" ; float hmnoise(profile) ; //SPP float hmnoise(profile,hbeam) ; //PPM hmnoise:long_name = "Mean noise subtracted from h-ch received power in dBZ@1km" ; hmnoise:units = "dBZ" ; // equivalent dBZ at 1 km hmnoise:receiver = "H" ; // receiver (Rx) noise channel used hmnoise:pulse = " "; // noise meas. from these pulses in a burst hmnoise:smooth = 0; // # of moving-averaged noise samples hmnoise:source = "WCR, derived variable, wcrwrite1nc" ; float hsnoise(profile) ; //SPP float hsnoise(profile,hbeam) ; //PPM hsnoise:long_name = "Std. Dev. of noise for h-ch reflectivity in dBZ@1km" ; hsnoise:units = "dBZ" ; // equivalent dBZ at 1 km hsnoise:source = "WCR, derived variable, wcrwrite1nc" ; float vmnoise(profile) ; //SPP float vmnoise(profile,vbeam) ; //PPM vmnoise:long_name = "Mean noise subtracted from v-ch received power in dBZ@1km" ; vmnoise:units = "dBZ" ; // equivalent dBZ at 1 km vmnoise:receiver = "V" ; // receiver noise channel used vmnoise:pulse = " "; // noise meas. from these pulses in a burst vmnoise:smooth = 0; // # of moving-averaged noise samples vmnoise:source = "WCR, derived variable, wcrwrite1nc" ; float vsnoise(profile) ; //SPP float vsnoise(profile,vbeam) ; //PPM vsnoise:long_name = "Std. Dev. of noise for v-ch reflectivity in dBZ@1km" ; vsnoise:units = "dBZ" ; // equivalent dBZ at 1 km vsnoise:source = "WCR, derived variable, wcrwrite1nc" ; float hh(profile,range) ; //SPP float hh(profile,range,hbeam) ; //PPM hh:long_name = "Equivalent h_beam(hh-copol) channel reflectivity factor" ; hh:units = "dBZ" ; // equivalent dBZ at 1 km hh:missing_value = -32767.f ;// value assigned to below noise threshold hh:receiver = "H" ; // receiver channel used hh:transmitter = " " ; // transmitter channel(s)/port(s) used hh:status="mean noise subtracted, no threshold applied, no atten.correction"; hh:source = "WCR, derived variable, wcrwrite1nc" ; float vv(profile,range) ; //SPP float vv(profile,range,vbeam) ; //PPM vv:long_name = "Equivalent v_beam(vv-copol if V1) channel reflectivity factor"; vv:units = "dBZ" ; // equivalent dBZ at 1 km vv:missing_value = -32767.f ;// value assigned to below noise threshold vv:receiver = "V" ; // receiver channel used vv:transmitter = " " ; // transmitter channel(s)/port(s) used vv:status="mean noise subtracted, no threshold applied, no atten.correction"; vv:source = "WCR, derived variable, wcrwrite1nc" ; float dv(profile,range,copp) ; // for PPMAG algorithms only //PPM float dv(profile,range) ; // for SPPMAG/FFT algorithms only //SPP dv:long_name = "Doppler radial velocity. Positive is toward the radar" ; dv:units = "m/s" ; dv:missing_value = -32767.f ;// value assigned to below noise threshold dv:pulsepair =" " ; // co-channel pulse pairs or for FFT only // Tx port, attribute renamed to 'beamchannel' dv:maxvel = 0.f, 0.f ; // WCR Doppler Nyquist velocity dv:dvshift="none" ; // Velocity shift status according to UNFOLD: // 'none' - no shift applied // 'centered along acwcbeam' // '[u,v,w]' shift vector, where the values // can be: actual value for the component, // 777 - mean of AC measured // 888 - AC measured for each profile dv:status = " " ; // uncor./corrected for aircraft motion dv:dependencies = "N2UW IRS variables" ; dv:source = "WCR, derived variable, wcrwrite1nc,wcrwrite2nc" ; float wcraspect(profile) ; // range/profile ratio based on N2UW air speed wcraspect:long_name = "WCRrangesampling/(WCRtimeint*tas)" ; wcraspect:units = "" ; wcraspect:missing_value = -32767.f; //for any tas<50 or tas>200 m/s wcraspect:dependencies = "N2UW tas" ; wcraspect:status = "constant, using N2UW 90 m/s airspeed" ; wcraspect:source = "N2UW/WCR,derived variable,wcrwrite1nc,wcrwrite2nc"; float wcrbeamvector(profile, vector3, beam); // for PPMAG alg only //PPM float wcrbeamvector(profile, vector3) ; // for SPPMAG alg only //SPP wcrbeamvector:long_name = "(East,North,Up) radar beams unit vector" ; wcrbeamvector:units = "" ; wcrbeamvector:beamchannel = " " ;// WCR Rx ports used (H1,H2,V1,V2,V3) wcrbeamvector:dependencies = "N2UW IRS variables" ; wcrbeamvector:source = "N2UW/WCR, derived variable, wcrwrite2nc" ; float acvcbeam(profile,beam) ; // for PPMAG alg only //PPM float acvcbeam(profile) ; // for SPPMAG alg only //SPP acvcbeam:long_name = "Aircraft velocity component along WCR beam. Positive is away from the radar" ; acvcbeam:units = "m/s" ; acvcbeam:beamchannel = " " ;// WCR Rx ports used (H1,H2,V1,V2,V3) acvcbeam:dependencies = "N2UW IRS variables, wcrbeamvector" ; acvcbeam:source = "N2UW/WCR, derived variable, wcrwrite2nc" ; float acwcbeam(profile,beam) ; // for PPMAG alg only //PPM float acwcbeam(profile) ; // for SPPMAG alg only //SPP acwcbeam:long_name = "Aircraft measured wind component along WCR beam. Positive is away from the radar" ; acwcbeam:units = "m/s" ; acwcbeam:beamchannel = " " ;// WCR Rx ports used (H1,H2,V1,V2,V3) acwcbeam:dependencies = "N2UW derived wind variables, wcrbeamvector" ; acwcbeam:source = "N2UW/WCR, derived variable, wcrwrite2nc" ; //*....................................................................*// //* wcrmirror is associated with N2UW Antenna 1 (beam 1, side and up) *// //* only; if beam 1 is not used wcrmirror is removed by wcrcdl2nc *// //*....................................................................*// short wcrmirror(profile) ; wcrmirror:long_name = "Side(0)/Up(1) beam orientation for this profile"; wcrmirror:units = "" ; wcrmirror:transitionvalue = -1;// represents side/up mirror transition // time (-1 to +3 sec from the event mark wcrmirror:dependencies = "N2UW lo_events 25th bit" ; wcrmirror:source = "N2UW derived variable, wcrwrite2nc" ; // global attributes: //*...................................................................*// //* The following attributes (except AcquisitionDate, TimeInterval, *// //* AircraftDataSource, and AircrafDateProcessed should be *// //* checked/edited for every experiment *// //*...................................................................*// :Source = "University of Wyoming, Department of Atmospheric Science" ; //F :Address = "1000 E. University Ave., Laramie, WY 82071" ; //F :Phone = "(307) 766-5352" ; //F :Email = "atsc-cc@uwyo.edu"; //F :Categories = "Reflectivity, DopplerVelocity" ; //E :Conventions = "" ; //F :ProjectName = "NASA Winter Orographic Clouds" ; //E :ProjectDates = " 16 January - 13 February 2006" ; //E :PrincipalInvestigators = "Bart Geerts,Jeff Snider,Dave Leon UW" ; //E //*...................................................................*// :Aircraft = "N2UW" ; //E :AircraftDataSource = " "; //P :AircraftDateProcessed = " " ; //P //*...................................................................*// :AcquisitionDate = " " ; //P :TimeInterval = " " ; //P //*...................................................................*// :WCR_Freq = 94.92f ; // carrier frequency in GHz //F :WCR_Lambda = 0.00316f ; // carrier wavelength in meters //F :WCR_Config = "One transmitter(Tx); Two receivers(Rx: H, V);Five Tx/Rx ports: H1,H2,V1,V2,V3;\n4 fixed single polarization antennas"; //F :WCR_AntConfig = "1: side/up,dual-pol; 2: down,h-pol, 3: side-fore,h-pol 4: down-fore,H-pol" ; //F :WCR_Polarization = "Linear: antenna config. dependent\nh-pol and v-pol refer to their corresponding\npolarizations when a WCR beam is pointing horizontally\nand normal to the aircraft axis" ;//F :WCR_Channels = "Tx via H1,or H2,or V1,or V2,or V3;\nRx on H1 and V1 or H2,or V2,or V3"; //F :WCR_ChannelConfig = "H1: beam1,H-pol; H2: beam4,H-pol\nV1: beam1,V-pol; V2: beam2,H-pol; V3: beam3,H-pol" ; //F :WCR_BeamDesignation = "1:side/up, 2:down, 3:side-fore, 4:down-fore" ; //F :WCR_BeamWidth = 0.7f,0.5f,0.8f,0.6f ; // antenna HPBW in degree //F //*...................................................................*// //* BeamConfig are all useful single- or multi-beam configurations *// //* that can be recorded in any one data file. *// :WCR_BeamConfig = 1s,2s,12s,13s,24s,123s,124s,1234s ; //F :WCR_BeamChannel = "'H1','V2','H1,V2','H1,V3','V2,H2','H1,V2,V3','H1,V2,H2','H1,V2,V3,H2'";//F :WCR_MirrorDesignation = "0: beam1side, 1: beam1up" ; //F :WCR_DopVelConvention = "positive is toward the radar" ; //F //*...................................................................*// //* Antenna position in meters and aircraft coord. system w.r.t IRS *// :WCRant1pos = -1.88f,0.f,-0.79f;//WCR side/up ant. pos. w.r.t. N2UW IRS//F :WCRant2pos = -1.88f,0.f, 0.f ;//WCR down ant. pos. w.r.t. N2UW IRS //F :WCRant3pos = -1.22f,0.f,-0.79f;//WCR side-fore antenna w.r.t. N2UW IRS//F :WCRant4pos = -2.00f,0.f,0.f ;//WCR down-fore antenna w.r.t. N2UW IRS//F //*...................................................................*// //*...................................................................*// //* N2UW Antenna beams unit vectors in aircraft coord. system *// :WCRcalbeamdate = 20051118 ; // beam angles effective date //E :WCRcalbeamstatus = "Ok,small changes from HICU03 set"; // //E :WCRbeam1upUnitVector = 0.052336f, 0.f, -0.9986295f ; //E :WCRbeam1sideUnitVector = -0.020885f, 0.999784f, -0.000000f ; //E :WCRbeam2UnitVector = -0.05512f, 0.000235f, 0.99848f ; //E :WCRbeam3UnitVector = 0.5854f, 0.8105f, 0.02f ; //E :WCRbeam4UnitVector = 0.4382f, 0.004099f, 0.89887f ; //E //*...................................................................*// //* Calibration Coefficients for the beam-channels used. *// :WCRcalpwrdate = 20051207 ; // calib. consts effective date //E :WCRcalpwrstatus = "accuarcy/precision:+-2.5/1.0"; // accur./precision //E :WCRcalHH1 = 49.5f ;// Calib. const., beam1, h-pol, 250ns pulse (dB) //E :WCRcalHH2 = 55.0f ;// Calib. const., beam4, co-pol, 250ns pulse (dB) //E :WCRcalVV1 =-999.f ;// Calib. const., beam1, v-pol, 250ns pulse (dB) //E :WCRcalVV2 = 50.5f ;// Calib. const., beam2, co-pol, 250ns pulse (dB) //E :WCRcalVV3 = 57.0f ;// Calib. const., beam3, co-pol, 250ns pulse (dB) //E //*...................................................................*// :WCRcal100= 2.5f ; // calibration difference for 225/125 ns pulses //F :WCRcal500= -3.5f ; // calibration difference for 225/500 ns pulses //F //*...................................................................*// //* The attributes below are program updated for every WCR data file *// //*...................................................................*// :WCRactivebeamsconfig = 1 ;// active beams this file: e.g.,1,12,24,... //P :WCRdaqalg = " " ; // wcrheader: DSP algorithm used in DAQ //P :WCRtxseq = " " ; // wcrheader: Tx pulse sequence in a burst //P :WCRppseq = " " ; // wcrheader: pulse pair sequence //P :WCRpulsepacket = 1 ; // # of Tx pulses in a burst //P :WCRcdlfile = " " ; // cdl source file used //P :WCRdaqfile = " " ; // data acquisition source file //P :WCRpulsewidth = 0.f ; // wcrheader: Tx pulse width in ns //P :WCRpulseav = 0 ; // wcrheader: number of pulses averaged in DAQ //P :WCRprfKHz = 0.f ; // wcrheader: pulse repetition frequency in KHz //P :WCRprfrange = 0.f ; // wcrheader: maximum unambiguous range in km //P :WCRprfvelocity = 0.f ;// wcrheader: +- maximum unambiguous velocity //P :WCRrangegates = 0 ; // wcrheader: number of sampled range gates //P :WCRrangesampling = 0 ;// wcrheader: WCR DAQ range sampling in meters //P :WCRrangeresolution=0 ;// wcrheader: WCR range resolution in meters //P :WCRstattimeint=0.f,0.f,0.f ; // mean,max,min prof time interval in ms //P :WCRstatDSPclock=0.f,0.f,0.f ;// mean,max,min DSPs clock diff. in ms //P :WCRstatpps=0.f,0.f,0.f,0.f ; // mean,std,max,min profiles per second //P :WCRirigflag=-9 ; //clock used: 0-DSP,1-TFP free,2-TFP IRIG,-2-failure //P //*...................................................................*// :WCRprofrange = 0,0; // processed: first,last profile //P :WCRprofav = 0 ; // processed: number of profiles averaged //P :WCRrangeav = 0 ; // processed: number of range gates averaged //P :WCRtimeint = 0.f ; // processed: median time interval between profs //P //*...................................................................*// :UTCcorrection = 0.; // derived: UTC corr. applied to WCR time stamps //P :Timeoffsetsync = 0.;// derived: offset applied to WCR time to sync //P // with the aircraft time stamps //*...................................................................*// :ProcessAuthor = " " ; // login account name //P :DateProcessed = " " ; //P :RevisionDate = " " ; //P :RevisionStatus = " " ; // test, preliminary, OK, etc. //P :RevisionNumber = 1 ; // the last processed revision //P :Revision_1 = " " ; //P //*...................................................................*// }