procedure copy_varcoords(var_from,var_to) begin rfrom = dimsizes(dimsizes(var_from)) rto = dimsizes(dimsizes(var_to)) if((rto.eq.rfrom).and.(all(dimsizes(var_from).eq.dimsizes(var_to)))) do i = 0,rfrom-1 var_to!i = var_from!i if(iscoord(var_from,var_from!i)) var_to&$var_to!i$ = var_from&$var_from!i$ end if end do else print("ERROR: copy_varcoords: number of dimensions do not match") end if end procedure copy_varatts(var_from,var_to) begin att_names =getvaratts(var_from); if(.not.all(ismissing(att_names))) do i = 0,dimsizes(att_names)-1 var_to@$att_names(i)$ = var_from@$att_names(i)$ end do end if end procedure copy_vardims(var_from,var_to) begin rfrom = dimsizes(dimsizes(var_from)) rto = dimsizes(dimsizes(var_to)) if(rto.eq.rfrom) do i = 0,rfrom-1 var_to!i = var_from!i end do else print("ERROR: copy_vardims: number of dimensions do not match") end if end procedure copy_filevaratts(fromfile[1]:file,fromvar[1]:string,var_to) begin if(isfilevar(fromfile,fromvar)) att_names = getfilevaratts(fromfile,fromvar) if(.not.all(ismissing(att_names))) do i =0, dimsizes(att_names)-1 var_to@$att_names(i)$ = fromfile->$fromvar$@$att_names(i)$ end do end if end if end procedure copy_filevarcoords(fromfile[1]:file,fromvar[1]:string,var_to) begin if((isfilevar(fromfile,fromvar)) .and. \ (dimsizes(dimsizes(var_to)).eq.dimsizes(filevardimsizes(fromfile,fromvar)))) dim_names = getfilevardims(fromfile,fromvar) do i = 0,dimsizes(dim_names)-1 var_to!i = dim_names(i) end do else print("ERROR: copy_vardims: number of dimensions do not match") end if end procedure copy_filevardims(fromfile[1]:file,fromvar[1]:string,var_to) begin if((isfilevar(fromfile,fromvar)) .and. \ (dimsizes(dimsizes(var_to)).eq.dimsizes(filevardimsizes(fromfile,fromvar))) .and. \ all(dimsizes(var_to).eq.filevardimsizes(fromfile,fromvar))) dim_names = getfilevardims(fromfile,fromvar) do i = 0,dimsizes(dim_names)-1 var_to!i = dim_names(i) if(isfilevarcoord(fromfile,fromvar,dim_names(i))) var_to&$var_to!i$ = fromfile->$fromvar$&$dim_names(i)$ end if end do else print("ERROR: copy_vardims: number of dimensions do not match") end if end