;$Id:$ ;+ ; NAME: ; WCR2CONF_COPEMED13 ; ; PURPOSE: ; Returns experiment specific WCR2 configuration structure with ; information about the radar installation and calibration parameters ; ; This is user supplied function and is used in conjunction with ; loadwcr2conf.pro function. ; ; The name WCR2CONF is reserved for the prototype/default ; function/configuration, which can be found in wcr2tools library. ; ; For any change in the configuration parameters related to a specific ; experiment the user should edit WCR2CONF and save it with a different ; name. It is recommended that the name is based on the following ; convention: wcr2conf__.pro. ; ; ATTENTION: to avoid a problem with UNIX/Linux case sensitive OS, make ; sure the function name and the file name for the function are both ; lower case and the same. ; ; CATEGORY: ; wcr2tools ; ; CALLING SEQUENCE: ; wcr2conf=wcr2conf_copemed13() ; ; INPUTS: ; ; KEYWORD PARAMETERS: ; ; OUTPUTS: ; ; NOTES: ; The function returns wcr2conf named structure (for description of the ; wcr2conf see wcr2conf__define.pro). ;- ; MODIFICATION HISTORY: ; Written by: Samuel Haimov, Nov 2010 ; S.H., Jan 11 - added mirror transition status id ; S.H., Feb 11 - added beamids tag; change ant/beam n/a from -1 to -9 ; S.H., Jul 11 - added beamstr tag ; S.H., Sep 12 - the 2 W-band LNAs were refirbuished requiring ; re-calibration ; S.H., Jan 13 - added IRS keyword ; ; Copyright (C) 2007-present, Samuel Haimov, Dept. of Atmos. Sci., University ; of Wyoming. This software may be used, copied, or redistributed as long as ; it is not sold and this copyright notice is reproduced on each copy made. ; This routine is provided as is without any expressed or implied warranties ; whatsoever. Other limitations apply as described in the WCR2TOOLS Readme file. FUNCTION wcr2conf_copemed13, platform=platform, irs=irs ; platform keyword is currently dummy; its value is explicitly defined ; ------------------------------------------------------------------------------ ; Initialize wcr2conf named structure ; ------------------------------------------------------------------------------ conf = {wcr2conf} ; ------------------------------------------------------------------------------ ; Provide platform and IRS IDs ; ------------------------------------------------------------------------------ conf.platform='N2UW' if n_elements(irs) eq 0 then conf.irs='h' $ else begin if where(irs eq ['h','dg','av','AV']) eq -1 then $ message,'Invalid IRS name' $ else conf.irs=irs endelse ; ------------------------------------------------------------------------------ ; Assign WCR2 configuration parameters that may change for each experiment ; ------------------------------------------------------------------------------ ; ............................................................................ ; The following parameters are ordered according to the DAQ port IDs ; Copol-crosspol port pairs according to the current EMS truth table: ; H1-V1 - H1 (h-pol), V1 (v-pol) ; H2-V2 - currently not a valid pair (single-pol down antenna V2 and ; single-pol down-slant antenna H2) ; H1-V3 - not a valid pair (single-pol side slant antenna V3) ; PortID (PID): 0 1 2 3 4 ; EMS PortLabel: 5 3 1 4 2 ; Port names: 'H1' 'V1' 'V3' 'H2' 'V2' ; AntennaID: 1 1 3 4 2 ; ............................................................................ ;N2UW Antenna: 12"GOLA 12"GOLA 12"Horn 15"Dish 18"Dish conf.antap =[ 0.305, 0.305, 0.305, 0.381, 0.457];[m], apperture conf.antbw =[ 0.75, 0.75, 0.85, 0.63, 0.5 ];[deg], beamwidth conf.antff =[ 60., 60., 60., 91., 132. ];[m], far field ; AntennaID; enter -9 if the port is terminated; ATTEN: 0 is reserved for use ; with N2UW side/up antenna mirror and cannot be used as antenna ID: ; for more read comments for mirrorids tag ; N2UW: beamids differs from antids due to the external side/up mirror conf.antids =[ 1, 1, -9, 4, 2 ];antenna IDs conf.beamids=[ 0, 1, -9, 4, 2 ];beam IDs ; Antenna names/strings 'up', 'side', down', 'side-', 'down-' are reserved ; words and are used in other WCR2 related files/programs ; (e.g., wcr2prototype, wcr2plotnc, plotwcr2qa) ; N2UW conf.antstr =['side_up-h','side_up-v','none','down-fore','down'] conf.beamstr=['side', 'up', 'none','down-fore','down'] ; ............................................................................ ; ATTENTION: Antenna/Beam assignments ; Antenna/Beam position and unit vectors; position/pointing angles in AC ; coordinates.(3,5) array with the second index loosely matching the portID. ; The port match is a bit confusing. This is because for N2UW I use port 0 ; index to define the SIDE beam vector and port 1 index for the UP beam ; vector (controlled by external mirror), while they are designated to ; represent h-pol and v-pol ports for the N2UW single side/up antenna. For ; N130AR the up antenna is connected to port 0 and index 0 is used for UP ; beam, but UP beam ID is still 1. ; Antenna position for N2UW if conf.irs eq 'h' or conf.irs eq 'dg' then begin ; Honeywell Laser Ref 2 ; PID conf.antpos =[[-1.99, 0.20,-0.88], $ ; 0: side; AC coord,m from IRS [-1.99, 0.20,-0.88], $ ; 1: up; AC coord,m from IRS [-1.22, 0.00,-0.79], $ ; 2: side-fore; AC coord,m from IRS [-2.37,-0.12,-0.29], $ ; 3: down-fore; AC coord,m from IRS [-1.99,-0.08,-0.34]] ; 4: down; AC coord,m from IRS ; Antenna beam vectors for N2UW sorted according to conf.beamids ; (up: LPVEX10; side,down-fore:CAMPS11; down:LPVEX10; side-slant:NASA06) conf.beamcaldate=20101210 ; Honeywell Laser Ref 2 ; PID conf.beams =[[-0.0125, 0.99992, 0.00296 ], $ ; 0: side beam,0.7 aft ;[deg] 90.7162 0.724698 89.8304 ; side WAICO08 [ 0.0575641, 0.0, -0.9983418], $ ; 1: up beam,3.3 fore ;[deg] 86.7 90.0 -3.3 ; up LPVEX10 [ 0.5854, 0.8105, 0.02 ], $ ; 2: side-fore beam ;[deg] 54.1687 35.8552 88.8540 ; side-fore NASA06 [ 0.440406, 0.00138427,0.8977977], $ ; 3: down-fore beam ;[deg] 63.87, 89.92, 26.13 ; down-fore CAMPS11 [-0.0527349,-0.00014341,0.998609]] ; 4: down beam ;[deg] 93.02, 90.01, 3.02 ; down LPVEX10 endif else begin ; Applanix AV410 conf.antpos =[[-2.68, 0.29,-0.96], $ ; 0: side; AC coord,m from IRS [-2.68, 0.29,-0.96], $ ; 1: up; AC coord,m from IRS [-1.22, 0.00,-0.79], $ ; 2: side-fore; AC coord,m from IRS [-3.08,-0.03,-0.33], $ ; 3: down-fore; AC coord,m from IRS [-2.68, 0.01,-0.42]] ; 4: down; AC coord,m from IRS conf.beamcaldate=20130503 conf.beams =[[ -0.01268298,0.99991568,0.00292480], $ ; 0: side beam ;[deg] 90.7267 0.744147 89.8324 ; side ASCII13 [ 0.0584354, 0.0, -0.998291 ], $ ; 1: up beam,3.35 fore ;[deg] 86.65 90.0 -3.35 ; up ASCII12 [ 0.5854, 0.8105, 0.02 ], $ ; 2: side-fore beam ;[deg] 54.1687 35.8552 88.8540 ; side-fore NASA06 ; [ 0.438690, 0.00893908,0.898594 ], $ ; 3: down-fore beam ;[deg] 63.9797 89.4878 26.0261 ; down-fore ASCII12 ; [-0.0535043, 0.00303725,0.998563]] ; 4: down beam ;[deg] 93.0670 89.8260 3.07198 ; down ASCII12 ; [ 0.43978460,0.01061999,0.89803981], $ ; 3: down-fore beam ;[deg] 63.9099 89.3915 26.0984 ; down-fore ASCII13 ; [-0.05225861,0.00386831,0.9986261]] ; 4: down beam ;[deg] 92.9956 89.7784 3.00374 ; down ASCII13 [ 0.43724441,0.00906424,0.89929719], $ ; 3: down-fore beam ;[deg] 64.07 89.48 25.93 ; down-fore COPEMED13 [-0.05462755,0.00257833,0.99850382]] ; 4: down beam ;[deg] 93.13 89.85 3.13 ; down COPEMED13 endelse ; ............................................................................ ; Calib. coeffs:[co-pol,cr-pol,cr-pol-iso] for every PORT ; ATTN: currently vh and hv cr-pol cal. coeffs are assumed the same as vv ; and hh. The cross-pol cal. routine assumes and uses equal split in ; the loss. ; N2UW conf.calpwrdate=20130507 conf.calpwr =[[ 38.0, 40.6, -35.0], $ ; PID=0: side/up antenna Tx h-pol [ 40.6, 38.0, -35.0], $ ; PID=1: side/up antenna Tx v-pol [ 99.0,-999.0,-999.0], $ ; PID=2: side-fore beam Tx h-pol [ 43.0,-999.0,-999.0], $ ; PID=3: down-fore beam Tx h-pol [ 38.3,-999.0,-999.0]] ; PID=4: nadir beam Tx h-pol ; ............................................................................ ; Linear Polarization convention: ; h-pol and v-pol refer to their corresponding horzontal and vertical ; polarizations when a WCR beam is pointing horizontally and laterally ; w.r.t.platform logitudinal axis rotation(roll) ; Tx PID: 0 1 2 3 4 conf.portstr =['H1','V1','V3','H2','V2'] ; Tx port names conf.polrxids =[ 1, 0, 0, 1, 0 ] ; Receiver (Vrx=0, Hrx=1) associated ; with the co-pol return for all PIDs ; I need it to avoid using portstr ; coding to extract the assoc. Rx_ch; ; 0=Vrx, 1=Hrx are hardwired in ; the radar firmware,initwcr2,etc. conf.poltxids =[ 1, 0, 1, 1, 1 ] ; Tx pol ID for every port ; ------------------------------------------------------------------------------ ; Assign WCR2 configuration fixed parameters ; ------------------------------------------------------------------------------ conf.algids =[ 0, 1, 2, 3, 4, 5, 6 ] ; conf.algstr =['SPP','FF1','FF2','FF3','FF4','CPP','RIQ'] ; ; Note: algids= 6 is not used by the WCR2 data system; data system sets ; record_raw flag in fh1 when raw I,Q data are recorded for any mode. ; algs (mode name) is assigned in openwcr2 if record_raw=1 ; ............................................................................ ; Power cal. correction for every pulse; reference is CR cal. for 200 ns ; 50 100 200 250 500 1000 ns conf.calcor =[6., 3., 0., -1., -4., -7.] ; ............................................................................ ; When a spectral window is used the loss of energy due to the data weighting ; is compensated with a correction implemented in the acquisition software conf.fftwinids=[ 0, 1, 2, 3, 4 ] conf.fftwinstr=['bartlett','blackman','hamming','hanning','rectangular'] ; ............................................................................ conf.filtids =[ 0, 1, 2, 3, 4, 5 ] ; IF filter(MHz) IDs conf.filtstr =['20','10','5','4','2','1'] ; IF filter names ; Minimum range_gate_sampling (for drxdec=4) conf.minrgs=7.5093867d0 ; in meters ; ............................................................................ ; Mirror ID for the side and up beam on N2UW (as recorded by the data ; system), the antenna assoc. with the mirror, and the corresponding beam ; vector indices (from conf.beams) ; Atten: conf.mirrorids[1] must be equal to conf.mirrorids[2]; in other ; words the up beam designation must match the antenna id. Note that ; 0 is not allowed as an antenna id and is to be used for designating ; a beam ID for side direction. If conf.mirrorids[[0,2]]=-9 then mirror ; is either not used or it does not exist (-9 designation has been used ; in plotwcr2qa.pro only so far). Words 'side' and 'up' are required ; and cannot be replaced with other synonyms - they are used in other ; programs. conf.mirrorids=[ 0, 1, 1, 0, 1, 3 ] conf.mirrorstr=['side','up','antid','side_beam_ind','up_beam_ind','transition'] ; ............................................................................ ; Smoothing noise-window size(default 101); should be an odd number; ; it is recommended not to exceed 10% of the processed number of profiles conf.noisewin =101L ; Minimum power (in mW) set when no signal is present ; (after rxscale is applied in readwcr2data) conf.nosignal=1.e-15 ; ............................................................................ conf.polstr =['v', 'h'] ; pol ID string 'v'=0; 'h'=1 conf.pulseids =[ 0, 1, 2, 3, 4, 5] ;Pulsewidth IDs conf.pulses =[50,100,200,250,500,1000] ;Pulsewidth in [ns] conf.rflambda =0.00316 ; Tx carrier wavelength in meters conf.rffreq =94.92 ; Tx carrier frequency in GHz conf.rxscale =10.^8.775 ; Digital receiver conversion factor to mW: ; mW=value/(8*averages*rxscale) for SPP ; uW=value/(fftlen^2*averages*rxscale) for FFT ; mW=value/(npavrg*averages*rxscale) for CPP ; mW=value/rxscale for RIQ ; Digital receiver level in mW after which it starts saturating conf.rxsat =1.0 return,conf end