double rnd = Math.random();

위코드는 0~1 사이 값을 렌덤으로 만들어 줍니다. 

 

제가 필요로 하는 것은 0~100000 사이 숫자를 random으로 만들어 주는 것이었습니다. 

 

import java.util.Random;

public class RandomTest {

	public static void main(args[]) {
    
    	Random rnd = new Random();
        
        //정수형을 리턴 할 것이기 때문에 nextInt()를 사용.
        
        int iRnd = rnd.nextInt(100000);
        
        System.out.println(iRnd);
    
    }

}

 

위와 같이 하면 Random 함수에서 원하는 값을 뽑을 수 있습니다. 

 

까먹지 말자는 취지에서 적습니다. 

 

참고 사이트 : securityspecialist.tistory.com/14

 

자바(JAVA) 랜덤(Random)값 사용 하기

랜덤값이란? 사용자가 임의적으로 값을 입력하는 것이 아니라 컴퓨터가 무작위로 값을 입력해 주는 것입니다. 자바에서 사용하는 랜덤값 이용방법을 알아보겠습니다. 자바에서 랜덤값을 이용��

securityspecialist.tistory.com

 

 

NCL Web 사이트 그림

 

  저희가 잘 다루는 툴을 소개 합니다. 

 

기상/기후 자료를 분석하려면 자료 자체가 수치자료로 나타 납니다. 

 

이수치는 지점 연구를 하는 분이라면 분석을 잘 할 수 있겠지만, 

 

기상/기후에서 연구하는 분야는 전세계/주/국가/도시 등 면으로 이루어진 경우가 많습니다. 

 

이러한 경우에는 수치는 엄청나게 많은 데이터일 뿐입니다. 

 

하지만, 이 데이터를 이용해서 지도위에나 그래프 위에다가 데이터를 표시한다면, 연구자가 보기에 좋은 자료가 됩니다. 

 

이럴때 쓰는 툴이 많습니다. 

 

그중에서 2차원 그래픽의 경우는 NCL을 업계에서 많이 사용하고 있습니다. 

 

우선,  NCL은 NCAR Command Language 의 약자입니다. 

 

여기서, NCAR는 미국 국립 대기 연구소(the National Center for Atmospheric Research) 입니다.

 

미국에서는 기상학에 사용 되는 많은 소프트웨어들을 오픈소스로, 무료로 내놓고 있습니다. 

 

NCL이 처리할 수 있는 자료는

 

TXT, CSV, GRIB, GRIB2, NetCDF3/4, HDF4/5 

 

등 대부분의 기상 자료를 사용할 수 있습니다. 

 

www.ncl.ucar.edu/overview.shtml

 

NCL Overview

Overview of NCL Important: NCAR has made the decision to adopt Python as the scripting language platform of choice for future development of analysis and visualization tools. Please read this open letter to NCL users to understand what kind of impact this

www.ncl.ucar.edu

NCL의 웹 사이트는 위와 같습니다. 

 

현재 NCL의 최신 버전은 6.6.2 입니다. 

 

www.ncl.ucar.edu/Download/

 

Installing NCL

Installing NCL Version 6.6.2 is the current version NCL is available for MacOS, Linux, and Windows systems running the Windows 10 Linux subsystem. NCL V6.6.2 is not supported under Windows running Cygwin. NCL and NCAR Graphics are available as one package

www.ncl.ucar.edu

다운로드 할 수 있는 URL은 위와 같습니다. 

 

저희는 ncl을 이용해서 다양한 작업들을 하고 있습니다. 

 

업무에 필요하신 경우 ymmedia2020@gmail.com 으로 메일 주시면 답변 드리겠습니다. 

 

본 블로그에 댓글을 비밀글로 하고 남겨 주셔도 답변을 드릴 수 있습니다. 

 

감사합니다. 

'기상기후' 카테고리의 다른 글

NCEP-DOE Reanalysis/재분석 2 자료에 대하여.  (0) 2020.09.23

 

 

요즘 Node js를 작업을 하다 보니 글쓸 주제가 생기네요 ^^

Node JS에서 fs 패키지를 이용해서 파일을 다룹니다.

그런데, 파일에 텍스트 파일을 쓰는 것은 writeFile 함수를 사용하면 됩니다.

그런데 저 함수를 써서 파일을 작성하면 여러번 동일한 파일에 쓸때 맨 마지막 텍스만 저장 됩니다.

하지만, 루프를 통해서 같은 파일에 다른 데이터를 저장해야 할 경우도 있습니다.

그때 사용할 수 있는 명령어가 함수가 appendFile() 입니다.

실제로 사용하는 방법은 아래와 같습니다.

let fd;
try {
fd = fs.openSync('message.txt', 'a');
fs.appendFileSync(fd, 'data to append', 'utf8');
} catch (err) {
/* Handle the error */
} finally {
if (fd !== undefined)
fs.closeSync(fd);
}

출처 : stackoverflow.com/questions/3459476/how-to-append-to-a-file-in-node

https://nodejs.org/api/fs.html#fs_fs_appendfile_path_data_options_callback

[8월 전국평균기온 및 강수량 변화 (1973년 ~ 2020년)]

     

[평균기온 변화]

그림1. 1973년 ~ 2020년 8월 전국 평균기온

 

  • 기상청에서 전국 1973년부터 2020 년까지 연속해서 관측자료가 있는 60개 지점의 기상관측자료를 분석한 결과 2020년 8월 평균기온은 26.6평년(25.2)보다 1.4 높아 8월 평균기온 역대순위 6위를 기록하였다.

  • 8월기온의 장기변화 경향을 분석한 결과 평균기온 상승률은 0.24/10yr로 나타났다. (10년에 약 0.24도 상승)

  • 전국 모든 지역에서 기온이 상승한 가운데 전국 60개 관측지점 중 8월 기온상승률이 가장 높은 지역은 원주(0.49/10yr)로 나타났으며, 이어 청주(0.456/10yr), 수원(0.449/10yr) 등의 순이었다. 

 

[8월 평균기온 순위]

  • 가장 높았던 해의 순위

순위 년도 평균기온(℃)
1 2018 27.25
2 2013 27.18
3 1994 26.82
4 2010 26.81
5 2016 26.67

 

 

  • 가장 낮았던 해의 순위

순위 년도 평균기온 (℃)
1 1980 22.04
2 1993 22.11
3 1997 23.65
4 2014 23,73
5 1991 23.82

 

 

[강수량 변화]

그림2. 1973년 ~ 2020년 8월 전국 평균 강수량

 

  • 1973년부터 2020년까지 전국 60개 관측지점의 연강수량을 분석한 결과 2020년 8월 전국평균 강수량이 369.9mm로 평년(262.85mm)대비 151% 수준으로 8월 강수량 역대순위 6위를 기록하였다.

  • 8월 강수량의 장기변화경향을 보면 강수량변화율은 8.9mm/10yr씩 증가하는 경향을 보였다.

  • 지역별로 보면 특히 남원(25.7mm /10yr), 광주(24.2mm/10yr) 등의 경우 20mm / 10yr 이상의 증가율을 보였으며, 서울지역도 10mm/10yr의 증가율을 보이고 있다. 반면 강화(-22mm/10yr), 보령(-9.9mm/10yr), 대관령(-8.7mm/10yr) 등의 지역은 강수량이 감소하는 추세를 보였다.

 

[8월 강수량 순위]

  • 가장 많았던 해의 순위

순위 년도 평균 강수량 (mm)
1 2002 595.85
2 1998 453.37
3 1987 445.94
4 1995 426.35
5 2012 416.96

 

  • 가장 적었던 해의 순위

순위 년도 평균 강수량
1 2016 85.48
2 1988 98.88
3 2001 106.96
4 1975 111.9
5 2015 118.11

 

어제 한참을 삽질을 했습니다. 

 

node js에서 rs.readFile 함수로, 30만개정도의 파일 일어서 S3로 보내는 작업을 했습니다. 

 

그런데 중간에

 

Error: EMFILE: too many open files

 

위와 같은 오류가 났습니다. 

 

그래서 해결 책을 열심히 찾았습니다. 

 

보통은 fp 라고 하는데 node js 는 fd라고 한다는 것도 알게 되었고, 

 

node js fs 패키지를 많이 사용하는데 fs.readFile함수를 이용했을 때 많은 파일을 열면 이렇게 나옵니다. 

 

여기서 해결 방법은 출처에 있는 글 처럼 

 

node js graceful-fs 패키지를 이용하면 됩니다. 

 

fs=rqquire("fs")

를 

fs=rqquire("graceful-fs")

로 변경하고 동일 하게 사용하면 저 오류가 안납니다. 

 

감사합니다. 

 

출처 : https://stackoverflow.com/questions/49672964/nodejs-too-many-open-files-causes-an-error

+ Recent posts